Serial.println("inByte = " + String(inByte));
Read this before posting a programming question
In particular:
Warning: In versions of the Arduino IDE up to 1.0.1 (at least) there is a bug in dynamic memory allocation. This affects both malloc/free and new/delete. In particular it also affects the String class, which uses dynamic memory allocation.
Your reported problem:
... at this point, a few lines of gibberish - doesn't copy or print here - is seen and the it stops completely.
... is consistent with the sort of things that go wrong when you use String.