This functionality is not included in the NI-SCOPE API, but it is fairly easy to create. The basic method is as follows:
Set up your device the way you want it.
Initiate the acquisition (niScope Initiate Acquisition.vi).
Check the device status at your timeout interval (niScope Acquisition Status.vi)
If data is available, fetch it with a zero timeout (niScope xxx Fetch xxx.vi)
If data is not available, change trigger mode to immediate, fetch with a timeout long enough to allow acquisition, then change trigger mode back to edge
Loop until done
This is a special case of the generic polled acquisition. I attached a polled acquisition example. You will need to add step 5 above to the empty case which just goes on if the data is not ready. Set the loop delay to your timeout time. Let us know if you have difficulties.