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?