Wenn ich das richtig sehe muss du ein Array anlegen für die empfangegen daten da du ja sonst immer die Variable überschreibst und der Letzte wert im String ist halt eine Null:
Also ich würde es so machen:

#define BUFSIZE 20
uint8_t ring[BUFSIZE];
volatile uint8_t buf_in = 0;
uint8_t buf_out = 0;

ISR(USARTE0_RXC_vect)
{

ring[buf_in++] = USARTE0.DATA; // Usart einlesen und in data_Empfangen schreiben
buf_in %= BUFSIZE;
}


in der Main dann

if (buf_in != buf_out)
{
Send_UART(ring[buf_out++]);
buf_out %= BUFSIZE;
}

Jetzt musst du nur noch Sicher stellen das dein String kleiner ist als BUFSIZE

LG