Может ли быть так, что iOS изменила часовой пояс или изменилось его определение между iOS 3.x и 4.0? Или даже, что это изменилось в Mac OS X, и вы работаете в симуляторе? Вам обязательно нужно указать, какой часовой пояс и календарь вы используете, чтобы получить повторяемые результаты вычислений даты.
Я явно установил локаль для использования при попытке получить даты из строк. Если я контролирую строку, я гарантирую, что она содержит спецификацию часового пояса.