I use timing routines regularly in machine control code. Much to my amazement, I recently discovered the routine our company had been using for delays, timeouts, etc. was only accurate to 10 Msec. If we asked for a delay of 1 Msec - we got 10.....If we asked for 5 Msec - we got 10. I stumbled across an article in the MS Knowledge Base that talked about using the QueryPerformanceTimer. Thek KB article was #Q172338. This article provided me with sufficient information to to rework our timing routines to provide a major accuracy improvement. If your timing has to be this tight, check out this article.