If there's HSERIN/HSEROUT, you should use DEFINEs, unless you just need to write the USART registers.

Code:
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler     RX_INT,     _GetData,   PBP,  no
You want to reset flags, unless, your program will loop in the ISR forever.

I haven't look the whole thing, but those are the really first thing that jump in my face.