Нда. Не догадались или лень читать User's Guide? Ну тогда подсказываю, что нет такого регистра UTXIFG0. UTXIFG0 это флаг который находится в регистре IFG1. Ваша проверка на готовность буфера передатчика UART и передача в цикле, должны были выглядеть так.
Код
while (1)
{ if ((IFG1&UTXIFG0)!=0) TXBUF0=0x01;
}
Нет никакого смысла постоянно писать в буфер UART, до того момента, пока он не освободился для передачи следующего байта. Кстати, что за переменные или регистры под именами U0IFG, U0ME и U0IE? Это для меня тоже загадка. Среди стандартных имен TI и/или компилятора IAR я таких не встречал.

Если это ваши собственные, то неплохо бы еще и хидер в комплекте прилагать.
По поводу неустойчивой работы генератора мне сложно что-то сказать определенное, т.к. вы ни код (инициализации и обработки ошибок осциллятора) не привели, ни схему подключения (обвязку) осциллятора не описали. А применять для этого экстрасенсорные способности (и додумывать пропущенные точки с запятой) в принципе можно, но довольно сложно