В первом случае эта очередь будет очищена некоторым рабочим потоком, который, скорее всего, не будет иметь запущенного цикла выполнения.
Во втором случае очередь очищается основным потоком вашего приложения, в котором будет запущен цикл запуска. Таким образом, методы делегата планируются в этом цикле выполнения.
Надеюсь, Apple скоро предложит API на основе очередей и блоков. Между тем вы можете подумать о ASIHTTPRequest , который позволяет отправлять блоки в NSOperationQueue, когда соединение установлено (или когда оно не удается).
Или вы можете явно настроить NSURLConnection для использования цикла выполнения основного потока (или какого-либо другого определенного цикла запуска, который, как вы знаете, будет достаточно долго). Смотрите - [NSURLConnection - scheduleInRunLoop: forMode:]
Надеюсь, это поможет?