Вы не хотите, чтобы ваш поток спал (он же приостановлен), вы хотите остановить его. Сделайте это с помощью простого цикла:
#include <time.h>
void stall(unsigned ms){
clock_t goal = clock()+ms;
while(goal>clock());
}
// or maybe higher resolution with some performance profiling functions...