Just to clarify, it did not take breakpoints to solve this. The behavior did not match the datasheet and I found the LPCopen include files to be in error. As I've discovered other errors in LPCOpen for this processor, I check against the datasheet before getting into debugging. For example, the datasheet UM10850 Rev 2.4 pg 256 states:
Interrupts available for Receiver Ready, Transmitter Ready, Transmitter Idle, change
in receiver break detect, Framing error, Parity error, Overrun, Underrun, Delta CTS
detect, and receiver sample noise detected
I could not find any bits related to Underrun in STAT, INTENSET, INTENCLR, or INTENSTAT. If they don't exist, why does UART_TXDERR have a bit for the UART status register LPCOpen 3.03 LPCOPen5410x/lpc_chip_5410x/inc/uart_5410x.h line 52 assigned bit 9 that the datasheet states is reserved.
Also why is, in the same file, bit 12 START part of UART_RXDERR. Data sheet states:
This bit is set when a start is detected on the receiver input. Its purpose is
primarily to allow wake-up from Deep-sleep or Power-down mode immediately
when a start is detected. Cleared by software.
So I just noticed something when reviewing this. The UART status, interrupt, and configuration register definitions are defined twice in the uart_5410x.h. First from lines 46 to 83, and second from 114 to 171. The example in periph_uart_rb project uses the second set and it is a far better definition and more accurate representation of the registers. I had initially missed this when my search found the first UART Status. It looks like that this is a remnant of old code that should have been deleted and wasn't.