Kenneth C. Fenney says:

I did a fair bit of work on this chip for a client just a few months ago... you are right to clear the overrun condition by clearing and then setting CREN which has the effect of resetting the receive logic-otherwise the hardware won't shift anymore bytes out of the receive shift register if OERR is set.

However, this bit has no effect on the framing error flag which is just a pronouncement that a stop bit wasn't detected when it should have been. This flag is set/cleared every time you read the receive register (RCREG), and it has no deleterious effect on the UART's behaviour - unlike the OERR bit which gums up the works until you reset it. It does mean that you should *save* the framing status immediately after a read, especially if you're running on rda interrupts and may want perform some out-of-band ack/nack or re-send logic.

As far as I can tell, this is the same for all the other PICs with onboard UARTs (well at least the 65, 73A, 74A, and 77) that I've worked with.

M. Adam Davis says:

Thomas C. Sefranek's 16C73 USART Serial Port Gotcha List and Source