i recheck your settings with the datasheet. i think your settings for uart0_tx also set GPIO_IPInputConnected to GPIO_IPInputConnected_Enable. If you look at what the library is doing this will set SCU->GPIOIN register to 1 for this pin. this will enable the Alternate Input1 for P3.1 which is uart2_rx.
so my guess is when using 3uarts, you initialize uart2 first then uart0, which changes the uart2_rx perpheral connection to a different pin P3.1. and it also explains why uart0 cannot work with uart2 while other combinations work.
in any case, i think it is proper not to set the GPIOIN register if the pin will be used only as output. let us know if this is any help.
Retrieving data ...