Resolution in the Windows system is limited. Generally speaking no better than 1ms no matter what you do. THis is due to the way Windows actually manages time in the PC hardware.
*nix variants on PC hardware handle it very differently.
There were a number of discussions a year or so back centered around some physiological event timing using the DJGPP compiler. This may explain the problem further but sadly I don't think it will offer a solution.
There is some discussion here http://www.codeproject.com/csharp/highresclock.asp about higher resolution - to 100ns - I have never tried the technique or investigated it further.
jdtoronto