I can't find the CIPGSMLOC command in the SIM900 command set. It's in the SIM800 one. (Edit - Found it. It's actually in a separate document for the SIM900)
What happens when you print out the results of the command? All you seem to do is send the command and ignore any feedback from the device.
There are several topics on this subject on Google, including links to this site. Do a search for CIPGSMLOC. I will follow this thread with interest.