In LabVIEW when you would like to use the DAQ functions to use resources on a particular board more than once at a time, you can do that as long as you group the resources when configuring them. So if I wanted to start two Analog Input operations at different times, where the first group of channels started two seconds before the next group of channels, I could use two AI Config VI's with different Groups (and the channels in each group CANNOT overlap) to configure and run this acquisition. That is in labVIEW.
I am not sure about your Visual Basic program, or how it operates, but if you are calling a DAQ configuration function, you might try the group configuration function for the operation that you are trying to perform. For instance, if you are doing a digital I/O op
eartion try calling Digital Group Config VI from the advanced DIO pallet in LabVIEW and the DIG_Grp_Config function in your VIsual Basic program. That way the DLL should recognize that the resources that you are using are not conflicting.
I have not tested this out, and I am not sure that it will help the specific problem that you are encountering, but I thought that I would make the suggestion.