knc1 is correct.
Some areas of /dev/mmcblk0 are WRITE-ONLY (to protect sensitive information) and you can only request information for these areas from a device driver (/proc interface). So even if you copy the entire mmc image from root (which includes the USB drive contents), there are parts of it that will show as all zero, and writing those back to the mmc can damage the data that is hidden in those locations.
You need kernel mode access to read the protected areas.
EDIT: Now that we have kexec that can run a custom linux kernel loaded from the USB drive, you could modify the linux kernel gpl source code (available from amazon) to give you direct access to the hidden mmc contents, potentially allowing you do make an exact image of the entire mmc device, as you suggested.