1. Never use Instantiate. Use NGUITools.AddChild. It will set the parent, scale, and layer for you.
2. Have you considered creating a prefab out of a single row instead, and then simply instantiating this prefab, positioning it (or using UIGrid to reposition it for you)? It would be an order of magnitude more performant than using tables.
3. Adding objects doesn't mean that their order will be kept. Unity is funny like that. If you want to guarantee sorting order, enable sorting and name objects sequentially using alphabetic characters, like "001", "002", "003", etc. Note that the sorting is not alphanumeric. It's alphabetic.