Есть 2 переменные.
textWidth и width - первая, это ширина самого текста, вторая - ширина поля. Если сделать поле очень широким, то текст будет растягиваться до предела. Если он из нескольких строк, то textWidth вернет значение самой длинной. Затем к этому значению можно приравнять width (с запасом, не знаю от чего, но поле съедает часть текста по краям, если используется "каверзные" настройки шрифта)

Код AS3:
var tt:TextField = new TextField();
tt.wordWrap = false;/*Иначе текст будет дробиться условием
textWidth < width (100 пикселей, задается при создании).*/
tt.multiline = true; //иначе <br> будет игнорироваться
tt.background = true;//только для того чтобы видеть поле
tt.backgroundColor = 0xAAAAAA;
trace("tt.width = ", tt.width);
//белеберда, но вторая часть текста самая длинная
tt.htmlText= "ererew <br>f hsdkjh fkjdhs<br> fkjhsd kjfhksj";
trace("tt.textWidth =", tt.textWidth);
tt.width = tt.textWidth;
addChild(tt)

Код:
tt.width = 100
tt.textWidth = 72
tt.width = 72