Правильно ли [self updateInterfaceWithReachability: internetReach];
обновляет интерфейс в основном потоке? Если нет, то это может быть проблемой.
В противном случае, я бы посоветовал вам убедиться, что ваш applicationDidFinishLaunching:
правильно возвращается быстро, как вы ожидаете.
Другая вещь, которую нужно попробовать, - это взломать отладчик во время запуска приложения, но до его запуска. Проверьте обратную трассировку и убедитесь, что основной цикл событий находится в разумном состоянии (как будто это не так).