hallo,
wie wäre es, wenn Du den char Zeiger in unsigned char Zeiger castest ?

Oder noch besser deine LCD_WriteString Funktion umänderst, daß sie einen Zeiger auf char erwartet.
Gibt es einen Grund, warum der Zeiger unsigned char ist ?

Gruß Sebastian