Use 'sync' command to flush "temporary" data to disk. I always use this when transferring to USB devs.
Then, if you are paranoid, run md5sum on fileonpc vs fileonusb and see if the checksums are identical:
$ md5sum /home/file
$ md5sum /media/usb/file
This is just a mockup, but if the two numbers are identical the files are identical.
But if I understand you correctly, it's just about knowing that the data has actually been written. In that case, the sync command is your friend.