Звучит скорее как проблема с часовым поясом, чем с 3GS.
Я не уверен, верно ли это для NSDateformatter (я попробую), но если вы получите описание свойства NSDate , выполучить местное время (со смещением по Гринвичу).
Если вы сохраняете эти строки местного времени, а затем отменили их сохранение в предположении GMT (или если часовой пояс на устройстве изменился), тогда время будет неправильным.Проверьте, в каком часовом поясе находится пользователь, и попробуйте выполнить тестирование с соответствующим часовым поясом системы (симулятор будет использовать часовой пояс MacOS).