I had this same problem under Windows 2000. Have not experienced it at all under Windows 98 (same hardware, blah blah blah).
I'm a developer myself and I've seen this happen with VSAM and proprietary data files (Access, Paradox, etc etc) when write behind cacheing did not full flush it's buffers.
I just disabled the setting on my hard drives and am about to give it a whirl.
Btw, this error manifests itself as an unhandled exception in windows 2000 and as an out of memory error under windows 98 (once the save game is munged windows 98 can't load it either).
I debugged into the break point using visual studio's debugger and it appears to be a null/invalid pointer causing the issue.
I'll let you know