Die durch cli() abgeschalteten Interrupts werden durch die Anweisung "SREG = sreg" wieder aktiviert (sofern sie davor aktiviert waren).
Das Senden soll synchron, also ohne Interrupts erfolgen.

Ein Test, in dem das Senden aus einem FIFO-Puffer heraus per Interrupts gesteuert wird, bringt ebenfalls nur 0x00.
(Hier wird das zu sendende Datenbyte auch nur in UDR geschrieben.)

Das Problem ist also unabhängig von der Art, wie gesendet wird.