"Christopher R. Hertel" writes:

> - The core of the problem is that the database is being accessed as a
> shared file, so each client must be able to read and write it
> simultaneously--thus the importance of locking.
> Sounds as though a client/server database would be a better bet.

I haven't really been following this thread, but before looking into a
client/server database, it's probably useful to look at the small-footprint,
public-domain database SQLite which already handles such issues on a
multi-platform basis. The 2.8.15 version is well tested and mature. The
3.0.6 beta provides somewhat better concurrency for applications where that
could cause limitations (probably not here). http://sqlite.org