Thanks for the has72.exe bug reports. I managed to reproduce the problem, and spent 7 hours last night up to my neck in c++ for the first time in a while! I've fixed the problem, and moved as much of the future potential-problem code (file read/write/locking) into managed code. Its now faster and much more reliable :)
As I was finishing up (and feeling pretty good about the hash72 stuff), I updated to firmware 3.1.1. For the most part, SharePod still works, but the Sqlite databases on the iPod have changed sufficiently that its going to take several more hours of work before I can release the next (and hopefully final) Preview version.
Talk about bad timing, and really soul-destoying at 3am!