So in the end, what are you looking for in the Visual C++ forum? I don't see a C++ question, just some musings on a piece of supposed buggy hardware.
If anything, GCDEF suggested the closest thing that has anything to do with the topic of this forum, and that is to use the debugger to debug whatever you're having trouble with.
At this point, we don't even know if the program is getting to the point where the dongle is called. That's why you need the debugger, to show you where in the code the program is hanging. Without it, you really have nothing to go on. The problem may have nothing at all to do with the dongle API. First thing to do is find where it's hanging, how it got there, and what's wrong that's causing it to hang. The debugger will show you all that.