Hi Kevin,
One thing I would check is that you don't have some other callback that is taking a long time to return and thereby blocking the event processing. When you install the TSQ callback, you specify the ID of a thread to execute the callbacks, and in order for that thread to do so, it has to be processing events via RunUserInterface or a loop that calls ProcessSystemEvents. If you've registered other callbacks to be called from that thread, then it's possible that another callback is being called and is taking its sweet time to return back to the event processing thread so that it can keep doing its job. If you've got such a situation, then you'll want to change that callback to just signal some other thread to do the real work, possibly by calling CmtScheduleThreadPoolFunction.
I can't think of another reasonable reason for why you'd be seeing that behavior.
Mert A.
National Instruments