Stuck is not a term which can be attributed to a specific problem.
The best place to start is the log files of the application which is sending data to the client. If no useful logs are generated, a packet sniffer is often useful in debugging a connection which is interrupted for seemingly no reason. If the application is still sending the data packets, is the client receiving them? If the server stopped sending the packets, was the connection closed? As a last result, you can strace the server application and often when the download goes into the "stuck" state, the strace will display useful information about what the problem is.
How to spot a hosting reseller:
a. ping "web-hosting-company".com. Search that IP at arin.net.
b. the company displayed by arin.net has full network and likely server control and is the real provider
A 99.999% SLA means nothing when 90% of the service continuince is beyond the control of the reseller.