Okay, here's a status update. So far every corrupted map I've seen has had the same problem - the note data is sometimes being written with extra null characters after the first, expected,
'null terminator' . This means the file will save correctly but not load in afterwards as this extra data causes the reading process to get out of sync and the whole thing to goes off the rails.
Unfortunately and annoyingly, I've been unable to reproduce the problem on my own system. I can't narrow it down to files loaded from older versions being converted incorrectly, or some non-ASCII characters (e.g. accented or symbol characters) causing this, or both, or some other third thing.
The good news is that every map I've been sent for repair has had this same issue and I've even been able to recover them in the most part so if you've got a file which won't load I can help you out. (It's the least I can do!)
Going forward, as I'm unable to reproduce the problem and have yet to find any bugs in my code, but know what is ultimately causing the corrupted files, I've implemented a specific check in my code to look for these extra zeroes and specifically not write them to disk. It's fixing the symptom and not the cause but from the perspective of the user this will still result in maps that work, which is ultimately what everyone wants. It makes no sense to keep you waiting while I find the true cause of this problem.
If you've been affected by the corrupted map issue, I invite you to try v2.0.4c and please see if you can find or make a map that refuses to load in it.
http://www.davidwaltersdevelopment.com/forum/viewtopic.php?f=20&t=1295&p=1552#p1552
Note that a corrupted map will not be fixed by this new version, but I can do that for you manually, please contact me if you'd like my help with this.