Yes because you can't use Sleep() in one threaded library. You either create more threads or use tickcount:
Code:
static size_t lastTime = 0;
if (GetTickCount() > lastTime)
{
// Do the trigger thing here.
lastTime = GetTickCount() + TRIGGER_DELAY;
}