Alex, thank you very much for your time one this, I appreciate that a lot. However, you must be mistaken. I just checked again, only the Dirty bit is set, the Deleted bit is not set. All records are the same.
What I'm doing right now to tackle this problem is: 1. Use DmSyncDatabase() at "strategic" places. Although some people suggested "use DmSyncDatabase() after each and every DmWrite(), but I didn't want to do that because it might be too costly; 2. Recreate each and every record before closing the database. With these two tricks in place, so far it seems to be all right. My program's databases are usually small (< 300KB, < 15 records), so this doesn't cause much overhead to the performance. But still, there is no gurarantee if the problem will hit again. Lucky that my program has an "auto-backup" function which copies the database to SD memory card every time a db is closed. So I can only recommend my users to resort to that when things gone bad. :-) -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
