Thanks again Darrel for your help.
This is the part that I was not getting
If there is an HSERIN or HSEROUT anywhere in your program. PBP will initialize the USART at the beginning of the program, before jumping to user code.
For some reason I thought PBP went line by line when compiling so I did not understand why setting the registers before HSERIN did not do the same as DEFINE XX.

I am beginning to get it.