A move is just a copy, then delete after the copy has completed. The files on the destination drive were probably successfully copied and deleted from the source drive, with the exception of the one file which was in the process of being copied when the power was cut. That will be present on both drives, as a short (corrupted) version on the destination drive if it's present at all (in theory it won't show up in a journaling file system like NTFS since the copy never completed). If you attempt to copy/move again, this file will pop up a dialog box saying the file already exists, would you like to copy again to the same file name (overwrite), or copy again with a different file name (save both copies). You should choose the overwrite option for all such files (there might be more than one due to write caching).
For the type of copy/move operation you're doing, I would recommend using a file copier which has a verify-after-copy function. This will double the time it takes to complete the copy/move, but it guarantees the copy has been done without errors. Basically it copies the file to the destination, then reads the destination file back and compares its checksum to the checksum of the original file. If they're different, then it knows there was a write error and flags the file to the copied again.
The program I normally use that has this option is Teracopy 2.27. But I'm reluctant to suggest it in this case because I know from experience that it has problems with copying large numbers of files like you're doing. Seems to be some sort of limit for the maximum number of files and checksums it can hold in memory. But it'll work if you break your copy into smaller chunks (a few root folders at a time) instead of the entire drive at once. Just make sure you turn on the verify-after-copy option.
There are other file copiers with the same verify function, but I haven't had much chance to play around with them. Maybe someone who's used them can recommend some. From what I hear, the verify flag in Windows copy and xcopy just checks that the file sizes match, it doesn't check the checksums.