If you want the high tech answer, its most likely this
First you dont have the file then he starts the send by telling you what port to connect to lets call this port A his router/firewall/nat adjusts this message on the way out so it says port B, you recieve this and attempt to connect using port B, which his router/firewall/nat adjusts to port A at his end, everyone is happy and the download starts.
Now sadly you disconnect, so you return to him and ask for the file again.
Now with some of the file, he starts the send by telling you what port to connect to lets call this port A his router/firewall/nat adjusts this message on the way out so it says port B, you recieve this and here is were it all goes wrong, becuase you want to resume, so you send him a message back saying I want to resume the file being sent on port B, he gets this and goes, to bad to sad buddy cause im not sending any files on port B.
The problem lies in that HIS router/firewall/nat intercepts and adjusts the outbound port number but make no adjustment on the inbound message to resume.