I work with dailies, preparing the footage for editors (I’m the first person that works with the footage you offloaded :). Experience has shown us that file size verification is good enough about 98% of the time. It’s fast – ShotPut just checks the file sizes of the two files and if they match, gives it a green light.
However, there’s always that 2% where some byte got swapped somewhere along the transfer (or something similar). The file sizes are the same, but the data is not (I’ve seen this happen at least 3 times). That’s where the MD5 checksum is your friend. ShotPut will read the full file from CF card and generate a checksum for each file (string of garbage-looking characters). That checksum is unique to that file. After the file gets offloaded, ShotPut runs a checksum on the newly created file. If the checksums match, then the offloaded file is a 100% perfect copy.
The downside of using MD5 Checksums is it takes a while to re-read the files from hard disk after offloading. Depending on your connection (eSATA? FW800?) it could take a while to generate the checksums. But in the end, MD5 checksums are well worth the extra time. (All it takes is one corrupt file to get blackballed as a DIT.)
Also, you should have a 2nd hard drive to offload to. A drive that you will keep near your rig/cart that will not be traveling back/forth to editorial. In this world, it’s C.Y.A.