The 64kb is the speed of the data on the line and it should be a true 64kb, after all, that is what you are paying for.
You are probably using a networking protocol which places some overheads on the data, for exaple both IP and Frame relay add additional data packets (for addressing, error detection etc). You may also be using a file transfer application which does its own error detection and asks for some data to be re-sent.
This additional data is an overhead on your file, but it must be included in the total data transmitted. For instance a 20% overhead adds 40Mb or approximately an additional 84 minutes.
The transfer speed will also depend upon the efficiency of the network at either end, (getting from PC to router and router to PC) and the efficiency of the router (It may be operating at near capacity and queuing data)
There are lots of areas where delays can be introduced, it can be a very specialised task to actually find the cause and a very expensive exercise to ‘fix’ it.