I am sorry, but I don't have a good definite answer. (I now use Labview instead of CVI), but I see a few things to think about trying.
1.The write Queue length still bothers me, it seems to me that if you have more than 1 object or message, you need a queue, so try setting it to a value other than 0
2. You have ncWaitForState, which caused me similar problems long ago. The ncWaitForState() suspends current execution, so your delay could be because it is stuck in a wait state. Try using ncCreateNotification instead
3. You may need to configure ALL objects at the same time, grouping them and calling ncConfig() only once, then use ncAction() to start and stop the objects.
dhuff