EM406 providing strange readings

Serial.println(Serial3.read());

There are two errors in this line. Number one: you use print() to write the read character which will print it's ASCII representation and not the character itself (so if the GPS sends a space, it prints 32). Number two: the Serial3.read() consumes the character, so the next Serial3.read() will return the character after the one you printed to the debugging serial port.

Post your sketch within code tags and don't just attach a screen shot. Additionally you should provide links to the hardware you used and to all libraries not included in the standard IDE.