Anyway, the file hash tables got screwed up because they were in the process of being calculated/written to when the crash happened, and afterwards DreaMule locked up every time I restarted it. The easiest way to fix it was to rename the folders that were shared - I just put an underscore in front of the name, e.g. "_Movies" instead of "Movies", restarted DreaMule, then copied the files from _Movies to the newly-created Movies folder. DreaMule saw them as new files so it rehashed them and everything took off again.
The moral of this is to let hashing finish before doing anything that might cause a crash. I have several downloads that have been going for more than two months and wasn't looking forward to starting them over from scratch. DreaMule has crashed on me before when previewing, and also when marking files in Search as spam (the program doesn't appear to be very robust) so I should have known better. I was using Plus before and it crashed on me like that too.
How about the eMule flavor you use - does it crash on you, and if so, how often and what caused it? I'll switch programs in a heartbeat to get one that I can rely on but don't want to have to try every eMule client there is. What do you like/dislike about your eMule client? The only other thing I specifically dislike with DreaMule is the web page it sends you to each time you start it (www.dreamule.org) that has "news" on it. I don't know what other info is being sent too and I don't put up with that kind of crap, so that entire domain is now in my HOSTS file redirected to 127.0.0.1. I haven't seen a comparison between eMule clients, so tell me what's good about yours - please don't let this degenerate into a "My program is better than yours".