I wasn't proposing that adding the print statements would fix the problem, it was suggested to help you see what was coming in on the serial port.
I don't understand why initializing the string as null would cause the problem, it looks like the string is only used when at least one character has been appended.
Anyway, if you have it working than not to worry.
Have fun!