Hello Charles. I have looked at your code and looked at the Traditional NI-DAQ(Legacy) C function reference help. Your code seems to make sense to me so I'm not completely sure of what could be causing this. However, I do have a few recommendations. First, even though this shouldn't impact your code, what happens if you change iStatus = DIG_Out_Grp(3, 1, 0); to iStatus = DIG_Out_Grp(3, 1, 0x0);. The hex input seemed to work on the first DIG_Out_Grp so making the two functions as close as possible could be beneficial for troubleshooting. Secondly, instead of using DIG_Out_Grp, we could try using Dig_Block_Out. This functions help refers to 653x devices explicitly in the help file so maybe this will work better with your card. You state that you must use the Grp functions, but for troubleshooting purposes, using the Dig_Block_Out could help us understand what is going on better.
I hope this helps! Let me know if this helps or brings up additional questions!
Brian F.
National Instruments