If the serial library is indeed not checking for parity erros, any ideas how to solve it (preferably, without messing with the library)?
I think that would pretty much require a complete redo of the serial library as it is a very low level function and would have to have a standard interface to the user to let know when such errors occur (parity errors, framing errors, etc).
When reliable and rugged communications is required it's more common to do it at a higher level protocol instead of at a character at a time basis. Adding and checking for error free message can be done using CRC generation/error detection and message ack/nak handshaking between the two nodes.
It can be a complex subject and a lot depends on if one can dictate what standards will be used on both sides of the comm link. If not, one just has to adapt as best as they can.