My ATmega8 data sheet (Dec 2002), on page 147, says:
Do not use Read-Modify-Write instructions (SBI and CBI) to set or clear the MPCM bit. The MPCM bit shares the same I/O location as the TXC flag and this might accidentally be cleared when using SBI or CBI instructions.
OK, since SBI and CBI each take 2 cycles, if the cpu sets TXC between the 2 cycles, the flag could be lost. If it was already set it should be preserved.
I don't see an alternative that avoids this possibility. If I simply do an OUT to UCSRA, since TXC and MPCM are both writable bits, I would destroy the TXC information already there. If I test for TXC before the OUT there will still be one (or more) cycles before the the register is written, so this is no better than SBI and CBI.
Have I missed something?