The only way we got the UART to behave correctly out of a POR is by doing what I described in an earlier post. A freescale field engineer had the same problem at one time and swore it was a h/w issue out of a POR, as did we. However, the FE said he incorporated newer initialization code and the problem mysteriously disappeared. We tried the same initialization code and the problem persisted. I sent FE my project so he could examine and alter but haven't heard back.
In the meantime, the only way we were able to avoid the UART hanging out of POR is to:
1.) After a POR, examine the Reset Status Register (RSR).
2.) If RSR indicates a POR then perform a SOFT RESET.
3.) The UART then works correctly after the SOFT RESET.
Note that while debugging in CodeWarrior, the UART problem required that we start the code running an initial time, STOP, then reload again. The UART then behaved correctly.
You could get the equivalent of above SOFT RESET by also hitting the RSTI pin on the eval board, if that's what you're using. We were spitting an announcement message out the UART on power cycle. If we didn't SOFT RESET as above on power cycle then no message. If we hit RSTI w/o SOFT RESET we got the message. With SOFT RESET we get the message as well.
NOTE: There are a number of 'gotchas' on this part particularly due to inaccurate or incomplete documentation. Erasing and writing Flash posed another hurdle because of this. Caveat Emptor.