I've noticed recently that while downloading a file, if there's an error while retrieving the headers, the subsequent retry loop starts over from the beginning of the file. This is independent of options like -c etc since it's just an internal retry of the fetch loop, but I was using -c too. The same download sometimes errored during download of data and then retries were correctly continued after the already retrieved data. It doesn't matter if it's a "connection reset" or "read error" or "connection timed out", any error followed by "in headers" wipes the file. I'm using 1.15 (on gentoo, but there's no patch to the c code).
-- Mikael Magnusson
