SerialPort works fine. It arguably could have been implemented better, but 10 messages per second of 50 bytes each at 115k is a trivial workload for a modern PC (for comparison bear in mind that PCs are capable of receiving data off a 10Gigabit Ethernet link). Under the bonnet, the OS/driver buffers the data, so whether you read that buffer from C++ or C# won't make much (if any) difference.
SerialPort doesn't work well with USB serial ports.... but that's because USB is notoriously unreliable. Plug in a PCI serial card or connect over ethernet to a Terminal server and SerialPort works fine. Use the USB-to-RS232 converter from a C++ program and the failures return. Draw your own conclusions...
We run systems with 18 serial ports running at various speeds (several at 115k and 10hz, packets of several hundred bytes), and have never had any problems with SerialPort (only with USB-to-RS232 converters!)
Give it a try... it shouldn't take long to prototype...