The buck stops for JMRI at the SerialMessage constructor. This is where it captures the byte string.
But to say that JMRI has to do something different doesn't make sense as it is capturing charter strings in both directions. And that common throughout the code.
Now if you are stating that the issue worked with windows and fails with Mac. Then look at the RS232 serial adapter. If the adapter is a FTDI chipset knock off the errors could be introduced there. Or if its a bogus serial adapter that could injecting error or noise as well. This is why an O-Scope would be useful.
Still bottom line it has nothing to do with JMRI coding. I give it less than a 3% chance that it is. The other 97% is the Serial adapter.
Inobu
?