Unfortunately, I don't have the code on this computer, so I can't do that right now, although I'm not sure what screen capture to send, as it is a pretty large project. Let me try to describe further what my program does.
When started, it pops up a couple of boxes for user input, basically setting up the test (each box is its own sub vi, and no data aquistion is involved). From there, it moves on to another sub vi which powers up my units that will be tested with the software. That vi (at least to this point) only contains a DAQmx write to a digital channel (setting to true) which turns on a relay supplying power to my UUTs. At that point, none of the UUTs turn on (and the digital line never goes high either). If I stop the program, and restart it from there, it works fine.
All that said, when you talk about initializing the DAQ, I wasn't aware there was anything to initialize. All I am doing is using a DAQmx write with a task created in the Measurement Explorer (or whatever its called).
How are you using DAQmx to write the task?/ Are you using the Create Task.vi and then choosing the task to copy??
Have your tried setting up the task in your program instead of doing it through MAX?? What I mean is by using the Create Task > Create Channel > Write and setting it to what you need.
The screenshot I was talking about is where you intialize or tell the DAQ unit to start outputting data.