Hello Scott,
Have you tried running NI-Spy to see the viOpen() call come through VISA? If it works in MAX, you should be able to see a difference between the viOpen() call that MAX uses and the viOpen() call that you are making from .NET. NI-Spy can be found in the National Instruments program group. Just hit the bluegreen arrow to start the capture, then try it in MAX and .NET and compare the working and nonworking calls. Post the resulting .spy file here if you need help interpretting it.
Scott B.
Applications Engineer
National Instruments