Values from QueryPerformanceCounter function should only advance forward, but in Bochs jumps back happen. I made test program which shows such behaviour: qpctest.zip. This is what it outputs in Bochs ...
Most people use GetTickCount, but to be honest this makes GetTickCount look like a joke. QueryPerformanceCounter finds the time in microseconds, and not milliseconds (like GetTickCount). Why use this?