It's not that simple. aMule doesn't know what "lies beneth" - meaning, that there's no way for application to know what is it under tcp. This is what OSI model is about.
From application point of view there's only "socket" thingie - over tcp it doesn't know evet how many packets were sent. Same thing is number of ACK, SYN, FIN, RST packets - application layer doesn't see it, but provider does.
One more variable to calculation - network layer. Over ADSL you have PPTP and/or PPPoE headers.
Remark about "K" and "M" letters - amule using "K" for 1024 and "M" for 1024*1024. While it's true in computers, it's wrong in communications. 100Mbps ethernet meaning that speed is 100*10^6 bits per second. So, provider equipment counts in "K" and "M" - which means 10^3 and 10^6 respectivly.