UITabBarController должен всегда быть самым внешним контроллером представления в любой иерархии. Если это не так, вы всегда будете сталкиваться с какими-то проблемами.
Тем не менее, конкретная проблема, которую вы описываете, может не быть результатом вашей иерархии. Я бы предложил исследовать код, который выполняется для отображения новой вкладки - либо с инструментами, если вы делаете это, либо с NSLogs, если нет.