На самом деле, вы получаете ту же проблему, когда вы меняете настройки сети на вашем телефоне между запусками приложения. Например, предположим, что вы используете соединение WIFI при запуске приложения. Затем вы закрываете приложение и выключаете WIFI, чтобы устройство использовало сеть оператора. Когда вы перезапустите приложение, сокет не сможет подключиться, если вы не сделаете трюк с фиктивной NSURLConnection (или не запустите браузер перед запуском приложения).
Кроме того, отмена NSURLConnection сразу после его инициализации (с помощью connectionWithRequest или initWithRequest) не работала для меня. Либо не отменяйте запрос, либо подождите некоторое время, прежде чем его отменить (например, с executeSelector: withObject: afterDelay:).