Я знаю, что есть некоторые различия в реализации OpenGL ES между устройством и симулятором. Из того, что я понимаю, это главным образом из-за графического чипа на iPhone (PowerVR MBX), имеющего значительно отличающиеся возможности, чем другие машины Mac. Многие из аппаратных ограничений не применяются в симуляторе, поэтому вполне возможно запустить в симуляторе что-нибудь, что полностью рухнет на устройстве.
Существуют также некоторые расширения OpenGL ES, которые поддерживаются оборудованием iPhone, но не поддерживаются в симуляторе. Я считаю, что основным является сжатие текстур PowerVR (PVRTC).
Другой проблемной областью может быть объем памяти. Как ни странно, я не видел, чтобы симулятор автоматически применял ограничения памяти устройства. Следовательно, возможно иметь что-то, что прекрасно работает в симуляторе, счастливо потребляя обильное количество оперативной памяти и никогда не удосуживаясь освободить его, а только быстро прекратить после такого продолжения такого поведения при работе на устройстве.