Signal strength low leads to no gprs connection?

Yes, of course!

It’s exactly the same as using a mobile phone - when the signal’s poor, the connection is unreliable.

This is an inherent feature of all radio-based communications, so your application must be carefully designed to cope with it.
You must also set appropriate expectations to accept that, when the signal’s really bad, communication is simply not possible.

Yes, that’s quite poor - see:

The module should automatically use the cell with the best available signal.

But see the discussion here: Connection dropped to base station, howto handle such events - #6 by awneil

AT+CCED will show you what other cells are available.