I cant see any reason for dividing the frequency by 1000, as frequency is the number of ticks per second, could be wrong tho :)
I'm guessing his assumption was that he could avoid the multiplication by 1000 to convert to milliseconds if he divided the frequency by 1000. When you divide the counter by the frequency, you're implicitly multiplying by 1000 because the frequency is already 1/1000th of what it would be.
At first I thought this might have been the cause of the problem, but it's not. Your code too returns the same time frame after frame if I plug it into my game. So evidently there is something in my game that the timers just don't like. Bugger.