I did not experience such problems, but I use different API which allows for more control and is more universal,
For a complete working sample, all in a single file, please see my past answer: how to download a file from internet
My utility, HttpDownloader, allows to continue downloading of partially downloaded resource. This is possible, in particular, because HTTP response gives you the expected total size in the very beginning. This way, you can detect progress and indicate 100% progress when the size of the downloaded data becomes equal to the expected size.
Just the alternative you could consider, a very simple one but more universal.