Please clarify: Are you using the Arduino GSM shield? The GSM library is about 16k. And, it's not the SIM900 chip.
Or the GPRS Shield V1.x or 2.0? There is no library, communication with SIM900 uses AT commands.
There is only 2k of RAM for variables on the Uno. I understand strange things happen when it's full.
If you like, post your code and I take a look.