I Tried every .net compatible library out there and found major issues with them all. I ended hacking at firmata .net (http://www.imagitronics.org/download/arduino.cs, replacing all of the code with serial port processing, and fixing a few bugs with the main processing loop. I may follow up with the author and see if he wants to accept my changes and if so I will post the updated version back here.

if you don't already know visual basic and are just trying to learn some sort of language to interface a computer with the arduino my suggestion would be to learn python.. obviously everyone has their favorite language but the reason I suggest python is because it can and is used in literally everything and is designed to be cross platform unlike Visual Basic.. with python I have made everything from Android/Iphone apps to GUI's that work equally as well on Linux and windows.

also one of the biggest plus's for python and new programmers is that it is very loose with variable assignment and working with strings is super simple.