Gwntd, your oscillator settings and baud rate look correct to me. 8MHz internal clock, fed through the PLL Prescaler at /2 and the finally-resulting 48MHz selected as system clock (with OSCCON at default value 00)
(I use CCS myself though, so I'm not used to setting the configuration directly. I've done a quick review of the datasheet regarding all the oscillator configuration registers but I might have missed something. Just covering my back, lol.)
So, provided the internal oscillator is accurate enough, and the datasheet says it is typically 0.15%, then I don't see what is wrong.
Have you tried using a much lower baud rate to test? That's what I do in serial problems - try 9600 baud and see if that works reliably.
Do you have an oscilloscope that you could check the serial timing with?