Делаю так (привожу часть кода, addChild делаю потом):

Код AS3:
for(var i:int = 0; i<= _arrList.length-1; i++){
var tfName:TextField = new TextField();
var tfText:TextField = new TextField();
tfText.text = _arrList[i].listText;
tfName.text = _arrList[i].listName;
_arrTfName[i] = tfName;
_arrTfText[i] = tfText;
setFormat(_arrTfName[i], _arrList[i].listColor, true);
setFormat(_arrTfText[i], _arrList[i].listColor, false);
}
private function setFormat(tf:TextField, col:String = "blue", flUnLine:Boolean = true):void{
var tFormatText:TextFormat = new TextFormat();
tFormatText.size = 16;
tFormatText.bold = true;
tFormatText.underline = flUnLine;
tFormatText.color = ColorElem.colorToUint(col);
tf.setTextFormat(tFormatText);
tFormatText = null;
}
Вот если underline сделать принудительно true

Код AS3:
tFormatText.underline = true;
, то подчеркивание появляется в одном случае и то не в том, что задаю.... голову сломала уже.
А если этот же флаг вешать на bold, то все работает прекрасно:

Код AS3:
tFormatText.bold = flUnLine;