Thanks everyone,
I've updated the code with a few revisions as you all suggested and took a look at the serialPort eventhandler API in the link. I modifying my code to use the sp.ReadExisting() method, but I got it couldn't find the reference and got an error... which was wierd. I'm also worried that I'm incorrectly using the serialPort.DataBits method.
http://msdn.microsof...tareceived.aspx