I am confused again. Funny how I never ran into this before...
The below only works at OSC 32 and below.
Code:
RCSTA = $90   ' Enable serial port & continuous receive
TXSTA = $20   ' Enable transmit, BRGH = 0
SPBRG = 225   ' 2400 Baud @ 0.0%
SPBRGH = 4
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
Why does it work above OSC 32 if it is DEFINED?

But these work with the 202 Warning. 2400 BAUD will not work like this.
Work meaning it displays on a terminal.
Code:
RUN: '9600 BAUD
   RCSTA=$90:TXSTA=$20:SPBRG=77
   RCSTA.4 = 0 : RCSTA.4 = 1
   HSEROUT ["HOWDY THERE",$d,$a]
   PAUSE 250
   GOTO RUN
Code:
RUN: '4800 BAUD
   RCSTA=$90:TXSTA=$20:SPBRG=155
   RCSTA.4 = 0 : RCSTA.4 = 1
   HSEROUT ["HOWDY THERE",$d,$a]
   PAUSE 250
   GOTO RUN
Setup
Code:
'4550 HSER TEST'18F4550'06/20/10
DEFINE OSC 48
@ __CONFIG   _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
@ __CONFIG   _CONFIG1H, _FOSC_HSPLL_HS_1H
@ __CONFIG    _CONFIG2H, _WDT_OFF_2H & _WDTPS_512_2H
@ __CONFIG    _CONFIG3H, _PBADEN_OFF_3H & _MCLRE_OFF_3H 
@ __CONFIG    _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L &_XINST_OFF_4L
Once a NEWBE always a NEWBE