Sorry for the delayed response. It really sounds like memory is being corrupted. When memory is overwritten, one possible consequence is an internal error in DSTM.cpp. I don't want this to sound defensive re: NI products, but it sounds as if the problem is likely to be in the USB driver or the way the driver is being initialized and used. In general, making a USB driver is very difficult -- especially when dealing with proper handling of system resources like IRPs. They get handed back and forth between the driver and system and any minor mistake will cause a blue screen.
I realize you are experiencing some difference of behavior between different versions of LV. It is critical to investigate the differences in how the DLL functions are being called -- no matter how small the differences.
As I mentioned before, the Import Shared Library Wizard isn't doing anything that you can't do through manual configuration. So, I recommend checking the VI differences.
Because USB drivers are difficult, if you or anyone else is considering building a new driver -- I would highly recommend using VISA as the USB interface. VISA USB is extremely stable and it is very easy to send raw USB packets to a device. NI has invested several man years of development time into providing VISA USB. One of the reasons we've made this investment is because we realize that providing a robust USB driver is not trivial.
Regards,
Noel