JS2000,
Are you using LabVIEW?? Another language??
Ideally, yes, you would want to use an S Series Board, or another form of simultaneous sampling when you are trying to determine phase relationships. However, with your M Series board, you can control the rate at which the ADC switches from channel to channel. So you can make the delay as small as possible. In DAQmx, this is referred to as the convert clock rate, which can usually be as fast as the maximum sample rate of the device. You can find out what the maximum convert clock rate is as well as set the convert clock rate with a DAQmx Timing Property Node (in LabVIEW). In the property node, select More>>Convert Clock, then Rate or Max Rate. In text based languages, the functions are DAQmxGetAIConvMaxRate and DAQmxSetAIConvRate.
As far as your program, you can have the AO and AI occurring in the same LabVIEW program. I would suggest taking a look at the Example Finder in LabVIEW, by going to Help>>Find Examples. Then, for the AO, navigate to Hardware Input and Output>>DAQmx>>Analog Generation>>Voltage, then maybe "Cont Gen Voltage Wfm-Int Clk.vi". For the AI: Hardware Input and Output>>DAQmx>>Analog Measurements>>Voltage, then maybe "Cont Acq&Graph Voltage-Int Clk.vi". Lots and lots of great examples in there. You can even copy and paste an AO example to an AI one or vise versa, to have both parts in the same VI.
And yes, I would wire your AO to your AI before and after your UUT. Then you could compare the two AI channels. Also, I would make sure to use differential for your terminal configuration if you can spare the channels (which of course you can if you only have two analog inputs).
Hope some of this info helps!
-Alan A.