GSM shield hangs when reset/uploading code during GPRS connection

I'm checking it but, when you execute begin() the modem should be rebooted (that's the reason for the long pause when starting).

Just, can you switch on debugging doing:

GSM gsmAccess(true);

and post here the trace as dumped in the serial interface?