I very much doubt it's a power thing. Although I have limited experience with Arduino boards.
You can verify that the general GSM stuff is working by executing AT+CREG commands to check if it is connected to the mobile operator.
If you need more detailed help then I think it makes sense for you to post what AT commands are being sent to the modem. And what the modem on the firmware/software side is saying.
Below some information about dealing with GPRS and AT Commands (aka GSM stuff).
With GSM modems there are commonly three ways of getting GPRS and executing AT commands (GSM) simultaneously.
1) Inline multiplexing
As far as I am aware you can switch contexts within the AT command console. This is a little challenging when it comes to writing code. I would advise against this.
2) Mulitplexing over a single serial interface
This is done via drivers that support the GSM 27.010 specification. Some manufacturers provide MUX drivers for this purpose.
The standard command is AT+CMUX. I strongly suggest taking a look at the modem reference manual to find out exactly how to execute this command. You can get a rather information also via AT commands. By executing AT+CMUX=? to see what parameters are expected.
Effectively then you would have two serial connections open to the same serial port. One for GPRS and one for AT Commands.
Negative impact is that the performance (speed of command execution) is significantly reduced depending on how the hardware copes with it.
3) Multiplexing over multiple serial interfaces
The GSM modems that I know of provide multiple serial interfaces (UART). Therefore one can be used for executing standard AT commands. And another can be used for GPRS communications.
I'm not entirely sure if this is possible with the SIM900A. There you would have to look at the hardware information.