Oder weist du was ich sonst noch ausprobieren kann?
1. Funktioniert dein M8 überhaupt? Probier' mal ein Prog, was nur einen Portpin 1x pro Sekunde an und aus schaltet. Da kannst du dann eine LED dran hängen zum Test.
2. Wenn du den M8 neu hast, läuft er auf 1 MHz intern ohne Quarz. Diese Taktfrequenz hast du ja auch in deinem Prog ($crystal) angegeben.
3. Wenn du bis jetzt nicht an den Fusebits etwas geändert hast, dann lass es auch, bis das LCD läuft. Das muss auf jeden Fall auch mit 1 MHz laufen.
Wenn du einen Quarz 16 MHz dran hast und die Fusebits auf extern-crystal umgestellt hast, dürfte er mit 16 MHz laufen. Dann must du das aber im Prog ($crystal) auch so angeben: $crystal = 16000000.
4. Wenn der M8 prinzipiell läuft (LED blinkt), dann geht's ans LCD. Melde dich dann evtl.! Für den Funktionstest lass die lcd4.lbx erst mal weg!

Gruß Dirk