Just adding onto turch's suggestion,
Try keeping the game's data file open during play and writing small bits of data into it periodically. You can probably do this at run-time without too much of a performance hit if you make sure there is an appropriately sized buffer. This will also allow you to do any pre-termination cleanup quickly because you are not writing out to the whole file, at once, just before the OS kills your app.
You would also want to do a quick integrity check of the data when first loading it and have it backed up for the worst case scenarios.