Let me give you a really good reason not to use "delay()".
At 9600 bits per second, if you were executing a "delay (1000);", and the transmitter were sending continuously, you could overflow the receive buffer (and know nothing about it!) 15 times.
Sadly, you're not executing "delay (1000)", you're executing "delay (5000)".
That's 4800 characters lost.