You can try to use the ReceiveTimeOut event, in this case you won't leave any character in the Rx Fifo:
void UART0_IRQHandler(void) { if(UART_GetITStatus(UART0,UART_IT_Receive|UART_IT_ReceiveTimeOut) == SET) { /* Read characters from the receive FIFO */ do ...you IT code on Rx event here...