Try using a slower baud rate when talking to the SIM900. Set it when you issue the SoftwareSerial command?
And ditto what Nick said about the power, I use 5V 2A fed directly into the board. Some people advocate putting a diode across the Arduino voltage regulator if you do this.
Finally, at the risk of asking a stupid question, you are trying to turn on the SIM900 using the correct pin?