Нашел довольно экстремальный способ создания задержки :
QueryPerfomanceCounter имеет точность 8 микросекунд.
Функция сразу лезет в kernel32, оттуда сразу в ntdll а оттуда в ntoskrnl32.
Там идет опрос порта таймера, что занимает фиксированное количество времени(это зависит от порта) и не прерывается.
Вызов этот занимает от 3500 до 4500 тактов процесора в среднем.
Следовательно, задержка будет примерно 4 микросекунды.
Как проверить ?
В топике про папоротник Sleep не помогает — слишком мелденно на Sleep(1) и слишком быстро на Sleep(0). А десяток вызовов QueryPerfomanceCounter очень четко дозируют.
Можно и цикл путой самому организовать — но это надо подгонять самому под процесор.
Во время одного кванта очень хорошо дозирует — пробуйте.