I braced myself for a series of restarts and did some tests with the latest version -- and I can't repeat the error now. I hate when that happens, though I suppose it is good news. It's very odd, because until today the problem happened with every version of Calibre since 0.5.1, and I waited through three or four new releases before writing in hopes that each one would fix it. I guess I'll just continue using 0.5.6 and the next time the issue occurs I will follow the advice here and see what I get. I'll report back if I have any new results.
This is very puzzling.