I see you found the sources for that 1B byte. What will happen when 1B is changed in the sources with something else?
I would make a few tries, with different values instead of 1B, both odd and even values, to see if the error persist, and if it is always the same (a 1->0 for the last bit only). This won't solve the problem, of course.
Next thing, I would try placing the answer text containing the 1B at a different address in flash, for example insert something that is not optimized out at compile time, or force the address by compile directives, so to align the reply text with 1B somewhere else in flash (I don't know the structure of the bootloader, so don't know which method is more feasible, if any). The idea is, maybe only that bit in the flash is defective, and it reads 19 during execution.
The last one will disseminate if the error is happening during sending, or if 19 really was loaded into the Tx buffer.
Maybe make it send the entire reply text twice (from sources), to see if it only happen at a certain moment in time relative to reset. If the second transmission has the 1B correctly, maybe it's something wrong with the supply, if not, maybe it's a defective bit in flash. Not 100% sure, but what else to do.