Please do not use terms such as "but it failed". When you tried to debug the code, what did you use - which debugger and how was it connected? (I ask because the PGD and PGC lines would appear to also be connected to the LCD and the circuit on the \MCLR\ line may not be able to drag the pin down, depending on the debugger in use. Can you program the chip successfully with the same connection?)
I would doubt that putting a LED on the Tx line wold show you anything. According to the data sheet I've seen for the SIM900A, the serial interface runs between 1200 BAUD and 57600 BAUD. Even as 1200 BAUD, each bit would cause the LED to flash for about 1msec which is far to fast for the human eye to see (we can see individual flashes down to about 30msec). You need a scope on the line to see what is happening.
The standard 'idle' state is "mark" which is also the standard 'Stop" bit state. The 'Start ' bit is a "space" and it is the transition from the idle'previous stop bit to the start bit that is used to trigger off the beginning of a new character. Further, the standard for the TTL signals is for the "mark" to be a 1 or high voltage and the "space" to be a 0 or low voltage. (When "mark" and "space" are translated to the RS232 voltage levels then these voltages change which is why the MAX232 is of no use to you in this application.)
So yes, the Tx line will be high when nothing is being sent.
Susan