Hrm...I answered this yesterday, but it seems my post didn't make it.
I checked your VI, and saw several things.
If your VI is indicative of how you run your data acquisition in your actual VI, there are a few things to note. First, since your boards don't support hardware analog triggering, you must use software triggering, as you have done.
The difference between a hardware trigger and a software trigger is this. A hardware trigger doesn't start putting data in the buffer until the analog trigger occurs. A software trigger puts the data in the buffer always, but reads the data out of the buffer and checks for the trigger condition. If the trigger condition occurs, only the data specified (pretrigger data and post-trigger data) will actually be sent from the buffer out of the AI Read VI and into your LabVIEW program.
Why do I tell you this? Because your other acquisitions, the two without the trigger, are occuring all the time. When the first one sees the trigger, it will come back with data, but it most likely will be less data than the other two (unless the trigger occurs on the FIRST scan of the buffer, which is very unlikely). Therefore, your trigger acquisition may come back with 749 points, while the other two come back with 1000 points. Therefore, the data is skewed.
Adding to that, you're not starting all your acquisitions with a start signal. Therefore, they are starting at different times, depending on when your PC actually ran the data acquisition code for each one. What you need to do is to to set up a RTSI line (Real Time Sytem Integration). The RTSI bus is connected to all your MIO boards in your PXI chassis, due to the structure of the PXI backplane. Therefore, you can set up your acquisitions to start when a rising edge is seen on RTSI 1, for example. Then, what I do is use the Data Acquisition -> Calibration and Configuration -> Route Signal.VI to route a counter output to the RTSI line. Toggle the counter, and if your acquisitions have been started (they will be waiting for the toggle), they will actually all start running at the same time.
If you keep the same software analog triggering that you have now, when a trigger occurs, you'll have to do a check to see how much data comes back. You can then retrieve the same amount of data from the other two acquisitions. Since all your acquisitions would have started at the same time, and you're retrieving the same amount of data, all data should line up in the time domain, and that's what you want.
If you would like an example, maybe that would make it more clear.
Mark