Hi Michael,
You are absolutely correct. The counter will go from 0 to 2^32-1 and then back to 0. Right at roll-over, the count will increment by one from 2^32-1 to 0. So following your reasoning the difference between old count (2^32-1) and new count (0) should be one.
Testing this you get 0-(2^32-1)+2^32=1
Also, there is a property node in DAQmx that will tell you if the count has rolled over (you can use this as an alternative to comparing your two counts). The channel property is: "Counter Input:General
Properties:More:Terminal Count Reached". If the counter has rolled over this will return true, and it will automatically reset to false after you read this property.
Regards,
Jennifer O.