In Q2406B module with open AT versiuon 2.12 we have found problem that when we treied to send more than 900 bytes over GSM it gets corrupted
Please check the signal strength received by the module when you are trying to send the data. Usually, if the signal strength is low, some of the data to be sent gets corrupted.
Also ensure that you are using non-transparent mode for data call on both the sides to send/receive data (using the command AT+CBST = 0,0,1).
Open AT Fan.