I found the answer to my question. Visual Studio 2005 is more stringent than VS 2003 in terms of access to GUI components. You can't let any thread except the main thread try to access GUI components such as text boxes on the main form. I understand that this is a better programming practice, but it is also a huge pain. NI-488.2 spawns its own thread(s?) so it cannot include commands like:
stringRead.Text = InsertCommonEscapeSequences(device.EndReadString(result));
So... what to do? Hit Google, of course. Here's a solution that I found: http://dotnetjunkies.com/WebLog/johnwood/archive/2005/08/31/132267.aspx It works well even though I found it difficult to understand.
Bottom line, the examples such as SimpleAsynchronousReadWrite will not work under VS 2005 unless they are modified.