Hola.
Lo que se me ocurre es controlar el orden de despliegue del bufer de recepcion. Cuando recibes el dato lo vas ubicando desde la posicion 0 hasta la posicion n, cuando lo despliegas en la LCD lo haces desde la pocion n hasta la posicion 0. De hecho, puedes aprobechar el hecho de que la variable en el bufer es 0 cuando no hay dato, para desplegar el dato en la LCD desde la ultima posicion que sea diferente de cero.
BuferData[10] = {'A',0,0,0,0,0,0,0,0,0}
Cuando llega un dato nuevo:
BuferData[10] = {'A','B',0,0,0,0,0,0,0,0}
En la LCD despliego siempre y cuando se cumpla que BuferData[ i ]!=0, hasta que i=0.
Saludos