If they both have the same session ID, that tells me that they are both pointing to the same task. First off, I would suggest not using Global Variables, especially with Data Acquisition tasks. This causes many different race conditions that we always advise against. Also, I tried reproducing this bug using the Read Dig Chan.vi and Gen Dig Pulse.vi examples and was unable to reproduce it. Have you tried running the VIs in LabVIEW by themselves (ie create a top-level VI that calls to your sub-vis in sequence)? If not, try this and let me know what the results are.