Q2406B returns error to AT+CIMI

Has anyone out there played with putting the Q2406B into low power mode?
I am using a Q2406B with 655 software (AT+CGMR reports “655_09gg.Q2406B 2015268 111705 17:01”.
My application only uses the modem occasionally (I am not running an OpenAT application on it, just using it for straight GPRS connection) and tries to put the modem into a low power mode when it is not being used. When it puts the modem back into normal mode the modem appears to work, but replies with “ERROR” to several commands (such as AT+CIMI) and it seems like the SIM has not been initialised properly.

To power the modem down I am doing the following -

Send "+++" to make sure that the modem is not in data mode
Wait 1 second
Send "ATH"
Wait 1 second
Send "AT+CGATT=0"
Wait 1s
Set the MDM_ON signal to the Wavecom low
Send "AT+CPOF"

Then to bring the modem back up again I am using the following sequence -
Set the MDM_ON signal to the Wavecom high
Send “+++” to make sure that the modem is not in data mode (in case power down didn’t work)
Wait 1 second
Send “ATH”
Wait 1 second
Send “AT+CGATT=0”
Wait 1s
Send “AT” and make sure we get OK back.

This works the first time after powering on my board and Q2406B, but usually doesn’t work the second time (I try to read the IMSI with AT+CIMI and that returns ERROR). I was using AT+CPOF=1, but noticed that the manual only mentions AT+CPOF so have tried using that, but still get the same problem (although not as often).
As far as power consumption is concerned - this seems to work as expected.
Any ideas would be welcome.

regards,
Charles