Doubt using character array
Arrays in C are fixed. sizeof() will always give the amount of allocated memory for the array.

Instead, you should be using strlen() to get the number of characters up to (but not including) the terminating NULL character at the end of the string.

ScrollingMsg.SetText ((unsigned char *) TxtDemo, strlen(TxtDemo));


Make sure that you have enough space in your initial array to store the longest string you will want to send - it will not grow beyond your initial allocation. Also be sure to get the NULL character at the end of your valid text. It's too easy to forget you need to insert that after your last received character.