Have to ask, you do have SCISR1 declared as volatile, otherwise the compiler may optimize to only read it once. Have a look at the dissasembly.
Just for grins put a timing delay of just over one byte time between each character send, see what happens.
Beyond that, reading the data sheet for the MC9S12C, it says that TDRE is 0 coming out of reset (non-empty) so this should stop your first character sending! This is the opposite to the behaviour on the 08's. I have rev 1.20 of the data sheet, I see the current on-line version still maintains that fact.
If you are using Codewarrior, have you tried using the beans? Saves all this low level stuff...