Se il tuo lcd è del tipo con controller HD44780 che è il più usato allora devi controllare le tempistiche di invio dati/comandi all'lcd. Se provi a cercare su Google "HD44780" ti esce fuori sicuramente il datasheet e da lì puoi vedere le tempistiche di ritardo tra un comando/dato e l'altro. Il micro pic16f88 e pic16f84 sono identici come set di istruzioni ma cambia l'hardware dentro. A me è successo a volte che programmando il PIC16f88 l'oscillatore sia impostato diversamente da quello esterno ma impostato quello interno R/C a 8 mhz, quindi magari è solo un problema di adattamento di velocità! Oppure una periferica interna interferisce con un piedino collegato al display, in questo caso devi disabilitare la periferica che è su quel piedino. Buon lavoro!