動作しているように見える UIViewControllers のカテゴリを作成しました。
- (void) popToInitialViewController
{
    UIViewController *vc;
    if (self.navigationController != nil) {
        vc = self.navigationController;
        [self.navigationController popToRootViewControllerAnimated:NO];
        [vc popToInitialViewController];
    }
    else if (self.tabBarController != nil) {
        vc = self.tabBarController;
        [vc popToInitialViewController];
    }
    else if (self.presentingViewController != nil) {
        vc = self;
        while (vc.presentingViewController != nil)
            vc = vc.presentingViewController;
        [vc dismissModalViewControllerAnimated:NO];
        [vc popToInitialViewController];
    }
}
コメントをお待ちしております:)