Flatfiles! Holy database Batman!
Im not a big fan of flat files. I'd rather use a recordset or XML - each gives me powerful tools to work with the data easily compared to a flat file. Not saying there is never a place for a flat file, just that once you've committed to loading MDAC or XML DOM in your app, why not leverage it as much as possible?
Interesting point about dropping everything when the app closes. In our case its entirely possible (even probable) that a DIFFERENT user will use the machine the next day, so we leave the cache on the client. The absolute worst that might happen is that the 2nd user works on a different db and never uses the cache from the 1st db --- but all it costs us is a little disk space.