Hi Reddy, if you want to do simultaneous AI & AO operations, you will have to use asynchronous I/O functions like SCAN_Start, WFM_Group_Control, etc. You can't use the synchronous functions like Scan_to_Disk, WFM_Op and WFM_from_disk because, as you've noticed, they will not return to the caller until the operation is finished.
The NI-DAQ user manual has pretty good documentation for the sequence of function calls necessary to perform asynchronous I/O. You will make interleaved calls like SCAN_Setup, WFM_Group_Setup, WFM_Load, SCAN_Start, WFM_DB_HalfReady, DAQ_DB_HalfReady, DAQ_DB_Transfer, WFM_DB_Transfer, etc.
NI-DAQ ships with examples for doing double-buffered AI and double-buffered AO. (see DAQdoubleBuf.c and WFMdoubleBuf.c). You'll just need to combine these into a single program.
Good luck,
Joe