Connecting to GSM/GPRS unstable, eventually hangs

Is there a workaround yet for the gsm.begin() hang ?
Am having a really hard time with this problem which spoils the whole project. I wasn't able to find a complete solution and although I have try many things and read many posts the gsm shield eventually hangs on gsm.begin(). I post sensor data every 15 minutes.

At first, it might worked for 10-15 posts and then hangs. The 2nd time might work for 10-12 hours and then hangs. Still haven't figure out why this is happening.

Altough I altered the library GSM3ShieldV1AccessProvider.cpp as per previous comments didn't see any difference.

If anyone has find a workaround please let us know!