Morpheus / Kazaa has that _very_ cool feature :
When a download fails because the host disconnected, it automatically starts a search for a file with the same name/size, and resumes if it succeeds.
If no matching file is found, it delays for, say , 15 minutes and retries.
The very good point in this is, when i start a large download (600Mb+, no chance of getting it the first time), i know that once it has "seen" the file i want, it will hunt for it relentlessly, and unattended.
Hence i just leave the thing do its job, and i know that day after day it will catch the file Mb by Mb, from whichever host has it.
How nice if you happened to implement such a thing...and it doesn't seem too hard either : you already have resume, and the rest is mostly cosmetics