1. Реально вызов Sleep(0) только увеличивает прожорливость — он вынуждает программу чаще находиться в режиме ядра. Небходимо использовать Sleep(1).
2. Необходимо вести счет не на милисекунды, а на часы. Потому,что один квант времени + переключение контекста занимает довольно много времени.
3. Нет информации о приоритетах при тестировании. Погрешность этих результатов очень велика.