One reason for a discrepancy would be if the cluster size was different for the two drives. My C drive has a cluster size of 16KB, whereas, checking my External Western Digital drive, I find it has a cluster size of 4KB. The larger the cluster size, the more space is likely to be wasted for each file. This will be particularly noticeable if you have lots of smaller files.
But also of course, you presumably didn't copy over all your programs (if you did, you were wasting your time, as they will all need to be re-installed if you are going to re-install Vista)
My Program files folder uses 25.8 GB