вот скажите: ваши мобильные операторы позволяют вам подключаться к GPRS и открывать сокет при отсутствии денег на счету (или при отрицательном баллансе)?
Скорее всего у оператора nat не хочет слишком долго поддерживать соединение и оно разрывается не по иннициативе программ, а просто так из вредности и экономии ресурсов оператора.