Я не думаю, что вы понимаете передачу сообщений Objective C или сохраняете / выпускаете. Отправка сохранения или выпуска объекту никогда не приведет к тому, что указатель, который вы удерживаете для этого объекта, станет нулевым (хотя объект может больше не быть действительным). Другими словами:
id a = b;
[a release];
//since release never changes the value of a
assert(a == b);
Итак, сказав, что, если каким-то образом код выпуска изменит значение указателя объекта, для которого вы назвали его, на nil, то отправка ему другого сообщения ничего не изменит. Сообщения на ноль молча отбрасываются. Помните, что вы держите указатель на объект, а не сам объект.
Сказав это, если вы хотите отменить NSURLConnection. Вы должны отправить ему отмену до того, как отпустите ее (как правило, отправка сообщения объектам после того, как вы их отпустили, некорректна).
Очень рекомендую прочитать документацию по управлению памятью Apple .