Agreed, your code is straight forward. Not sure what the cause is, but I'll throw out a few more thoughts, questions.
How are you "displaying" the dates that the script sees for those files, with a msgbox, or some other way?
Are you absolutely sure you are comparing the same file's dates in Explorer versus VBA (I know, I felt bad even asking it, but trying to check all possibilities)?
I assume H:\ is a network share drive? If so, maybe that is part of the puzzle. Have you tried doing a test against a file on say the C: drive to see if the same problem exists there?
Also, if H:\ is a network drive, could you try the code right on that server that hosts the file, as well as check it's timestamps with Explorer right on the box.
As another data point, try checking the timestamps from a CMD prompt as well to see what it agrees to. The /T switch let's you see the various dates one by one, so you could do:
DIR /TC h:\testfile.txt
DIR /TW h:\testfile.txt
~bp