I'm using version 1.5.1 of the NI-CAN driver in a multi-threaded application.
When I attempt to ncWaitForState in two different threads (one waiting on a write to finish, one waiting on a new message to read) I get a "driver error" return code.
Have you tried the latest CAN driver 1.6 available from ni.com > Support > Product Reference > Drivers and Updates > Current Versions? Hope this helps.