Really, ibwait is the only way to specify a delay in an ibic script and the function works as described in the following excerpt from the NI-488.2 function reference manual:
"ibwait monitors the events specified by mask and delays processing until one or more of the events occurs. If the wait mask is zero, ibwait returns immediately with the updated ibsta status word. If TIMO is set in the wait mask, ibwait returns when the timeout period has elapsed, if one or more of the other specified events have not already occurred. If TIMO is not set in the wait mask, the function waits indefinitely for one or more of the specified events to occur. The existing ibwait mask bits are identical to the ibsta bits; they are described in Table 1-11. If ud is a device descriptor, the
only valid wait mask bits are TIMO, END, RQS, and CMPL. If ud is an interface descriptor, all wait mask bits are valid except for RQS. You can configure the timeout period using the ibtmo function."
So, as you can see to specify a certain delay you use the ibtmo function to setup the timeout period and then specify a TIMO event mask for ibwait, otherwise you will have to specifically wait on an event that maybe your user can cause to happen, like somehow cause the instrument to assert an SRQ.
For more information you can look at the function reference manual for the rest of the ibwait details (i.e. event mask table):
http://digital.ni.com/manuals.nsf/14807683e3b2dd8f8625677b006643f0/35cd6168125e0ebd86256789006e84d4
Here is another link that talks about the ibic script process as well:
http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/cbf6b1eb7da1a5348625664100758bad?OpenDocument
Jason F.
Applications Engineer
National Instruments
www.ni.com/ask