Serial.print(System_ID);
Serial.println(NMEA2);
Serial.println("");
Maybe the text that is generated by NMEA2=GPS.lastNMEA(); has a CR/LF at the start of the text?
It is not a good idea to use the String (capital S) class on an Arduino as it can cause memory corruption in the small memory on an Arduino. Just use cstrings - char arrays terminated with 0.
...R