Strange LCD behavior

Grumpy_Mike:

I'm not sure how this would have any effect on the backlight.

The problem with using libraries is that you don't know anything about the code or its quality. I suspect it is poor quality code.
A string is a character array but it is terminated by a null.
Forget the other stuff and just get your hello world working on the LCD first.

Now I am confused! if you follow my code, both strings are terminated by a '/0', and the LCD is displaying the correct text.
the code says

Tmessage[t++] = letter;
if (letter == 'F')
{
Tmessage[t] = '\0';<-- termination
count = 2;
}
}
else
{
Hmessage[h++] = letter;
}
Hmessage = '\0';<-- ditto
Jim