У меня была такая же проблема. Переход на 4.0 и обратно у меня не сработал. Я заставил его работать, закрыв проект, выполнив «Показать содержимое пакета» и затем отредактировав project.pbxproj в TextEdit. Сделав поиск по GCC_VERSION, я нашел пару записей, все еще использующих 4.0 вместо 4.2. Смена их вручную работала. (Глупый XCode. В нем много таких ошибок.)