In the article referenced by agraham - 'Serial Communicationwith Visual Basic .NET' - it metions a few more events that may be raised. I'd be grateful if you would look to see if these events may be incorporated in Serial2. I'm particularly interested in the EV_CTS, EV_DSR and EV_RLSD events.
You could also add SerialPort.CDHolding as a CD property and SerialPort.GetPortNames which might be useful. That might just about complete the useful exposure of SerialPort.