Please note that in my first message I mentioned that I'm using a dataSource. If I use insertAfter to manually add a tab, it would not match with the dataSource. If you are suggesting that I should add it to my dataSource and I should also add the tab manually to match the dataSource, I feel it defeats the purpose of having a dataSource, which is supposed to dynamically generate tabs for me. Also, even if I add both to dataSource and to tab manually, I still require the dataItem of the selected tab because I need information in there in order to generate the new tab. My tabs are highly dynamic and they are powered by data. The fact that the widget supports a dataSource means that it needs to have a dataItem method to map elements to its data. Otherwise, it is very hard to reliably control the widget through data manipulation.
As a side note, I was able to find the index of the selected tab using the tabStrip.items array and I was able to retrieve the data item by accessing the data source using that index. However, that is not very elegant and I would much prefer to use a dataItem method, which is available on other widgets that support dataSource.