If the two images are identical, cmp will not produce any output to stdout and will return success.
If the two images differ, cmp will either say that the files differ at a byte offset, or it may say EOF on one of the images if it shorter than the other, and it will return an error code as well.
For the md5sums, I would generate a main sha1sum (or md5sum) at the top directory using a command like:
find /mnt/tmp -type f -print0 | xargs -0 sha1sum > /tmp/sha1sum.sha1
Do the same for the other partition (to a different output file), and use diff to see any differences.