I think your final problem was that you were printing "looping" every time loop() executed, which will not work when you are using 9600 baud on both Serial and SoftwareSerial, because that causes too much delay and leads to overflow in the SoftwareSerial receive buffer.
At 9600 baud, it takes about 65mS to fill the receive buffer, so anything that causes a long delay can be a problem. Printing to Serial causes a problem because once the transmit buffer is full, print() has to wait for characters to be sent, during which time the SoftwareSerial buffer is filling up.