BPFTP is wrong, 1MB is really 1024KB and 1KB is really 1024 bytes.
BPFTP treats 1MB = 1,000,000 bytes. This is intentional and I do not consider it an error. I am well aware of the fact that technically, 1MB=1,048,576 bytes but it is a lot easier for humans to visualise it as 1,000,000 bytes - indeed many people are not even aware of the technically correct size of a megabyte. This is unlikely to change.