Versuch mal, vor dem InitLCD eine Wartepause von ~500ms, ggf. mehr.
Wenn beide Teile (Controller und LCD) gleichzeitig eingeschaltet werden, kanns sein, dass der Controller das InitLCD sendet bevor das Display selber korrekt gestartet ist.