1. Instantiate the prefab via NGUITools.AddChild(tableGameObject, yourRowPrefab) and don't move the object.
2. Use labels with a fixed line width and multi-line disabled.
3. Create a background sliced sprite for your row that will cover the entire area of the row, showing you what it should look like (and make sure these bounds don't get exceeded).
4. After adding all your children, set UITable's "repositionNow" to 'true'. Don't use Reposition() right after instantiation, it likely won't work properly.
I use this approach in several places in
Windward: news screen, player list, ship list, summary screen, and everything works as expected.