Serial problem

The issue your having with the Software serial is probally buffering. The main serial port has a 128 character buffer. When you use Serial.read it goes to the buffer. This allows the board to receive data mid calculation and pick it up later. The software ports have no buffer. if your not listening when the data comes in it is lost. if you start listening halfway through a character it will come back as gibberish.

P.S if you find a way to buffer both, please tell me, it's a pain in the backside with a program I'm writing.

Cynar