Объект, на который ссылается переменная "position", автоматически помещается в пул автоматического выпуска по умолчанию в силу того факта, что он исходит из вспомогательного метода NSMutableData. Возможно, пул автоматического выпуска по умолчанию больше не действителен. Я просто догадываюсь здесь.
В любом случае объекты в пуле автоматического выпуска по умолчанию гарантированно будут сохраняться только в течение срока действия текущего контекста события. Это может иметь какое-то отношение к тому, что вы видите.
Я бы посоветовал вам сделать переменную "position" свойством экземпляра с атрибутом "retain". Это даст вам больше контроля над временем жизни объекта "позиция". Не забудьте освободить объект "position" в методе dealloc вашего класса.
Во всех моих приложениях для iOS я в значительной степени полагаюсь на функцию объявленных свойств, предоставляемую целевой C-структурой. Если я хочу, чтобы объект какое-то время "оставался", я ссылаюсь на него с объявленным свойством с атрибутом "сохранить". Тогда у меня будет гораздо более четкое представление о том, как долго это будет оставаться в силе. У меня также больше контроля над временем жизни.
Надеюсь, это поможет.