The ncReset completely wipes out the firmware and the memory on the CAN card so the read queue still containing messages would indicate that the ncReset is probably not getting executed at all.
How are you verifying that the read queue still has messages in it? What is the driver version? Have you been able to test the application on another OS? Is in your CAN application in VC++, VB or LV?
This problem has never been reported before.