part of code appended into string, resulting in very strange serial output

Please post the complete program. The problem is usually in the part we can't see and in which you are probably not looking.

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