If I add an element to the DOM in a container which has already been tabbed, and call add() [tabs('add')] with the new element's ID as the href, UI moves the new element from its location in the DOM to become a direct child of the tabbed container. (I am adding the element as a "grandchild" of the tabbed container)
Though I am using an unsupported DOM structure, tabs() works correctly on the same structure (panels as grandchildren) when initially building tabs. But an added panel in the same fashion BEFORE I call add() results in the element being moved from where I had added it.
I discussed this on the forums with Richard Worth: http://forum.jquery.com/topic/tabs-inconsistency-between-build-of-tabs-and-add-of-a-tab where I also provided test cases. A read of that forum thread followed by a view of the linked test cases should provide all necessary background information.
Richard stated, and I agreed, that UI will not provide support for my DOM structure. However he said the move of my previously added panel by the add() method could very well be a bug and welcomed me to create a ticket. This is especially the case since the initial buildout uses add() internally and does not suffer the same problem.