High errors in transmission (completely eliminated by adding delay): What's the issue?
You are probably just transmitting too fast.

Your receiver is writing at least 80 bytes of debugging information (if
I counted it right) for every 3 bytes of incoming data. Since both input
and debug output happen at the same baud rate, this means the receiver
can only cope with an input data rate equal to 3/80&nbsp;=&nbsp;3.75% of
the nominal baud rate.

I would expect no errors at the very beginning of the program run,
because the debugging info is written to a RAM buffer. Only when that
buffer fills up the receiver is slowed down by every Serial.write()
and Serial.println() it performs.