I had those same thoughts about both of those things. The ATMega168P chip is rated at 10 Mhz, but I believe for whatever reason, when they designed this board, they used an external oscillator that operates at 12 Mhz. We basically have a "test" microcontroller board that has pinouts for whatever we need, and we've never had any problems with clocking the chip at 12 Mhz. We just sent out for a proto board for this wireless system, and if we need to, we can adjust which external oscillator we use.
I've also heard of compilers optimizing away for-loops like this, but I've yet to experience it. I'm using Atmel Studio 6.0; I'll do some checking to see if anyone has had any issues with this. It wouldn't really optimize away an assignment where the variable changes though would it? Since txBuffer[i] != txBuffer[i+1]
In our final solution I won't be sending incrementing numbers, but obviously I don't want to end up in a situation where something could potentially cause a system failure.