If you are absolutely sure that they are indeed exactly the same system (not two different versions or your system released at different times). first thing I'd check is to make sure that the database file is healthy. Run a recover on the file and see what is reported.
Things to keep in mind about Recover:
- Recover does not detect all problems
- Recover doesn't always fix all problems correctly
- Best Practice is to never put a recovered copy back into regular use or development. Instead, replace the damaged file with an undamaged back up copy if this is at all possible. You may have to save a clone of the back up copy and import all data from your recovered copy to get a working copy with the most up to date information possible.
Next possibility is a lot stickier and there's not much we can do from here. If the files are healthy and exactly the same, then some action on the part of the user must be different. You'll have to do some sleuthing and monitoring to figure out what's going on. You'll need to check for things like whether you have a relationship that specifies the delete option so that deleting one record deletes a group of others. You'll need to check to see if the file is being closed properly or if some kind of force quit is being used to exit the file without the most recent changes being saved to disk.
You also mention back up copies but don't describe what method you are using to back up your files. If the user might, by any chance, be accidentally replacing their current copy with an older back up, their most recent records would then seem to disappear and the back up copy would show the same--which sounds a lot like what you describe here.
So I decided that I would re-build an older copy.