Sorry for the delay in replying, but I've been away.
No, it is not an OS issue, it is a hardware issue. If you issue a QueryPerformanceFrequency call before using QueryPerformanceCounter (and you should use it at least once), it may return 0, which indicates a failure. Whilst you could then use GetLastError for specific info, you will normally find that the failure is caused by the fact the hardware does not actually have a high-resolution performance counter available.