Buenas
Salseando con C18 y la libreria XLCD, me he dado cuenta de que tiene un bug (o un descuido o desconocimiento mio) mediante el cual, aun poniendo #DEFINE UPPER (para usar el nibble superior en modo 4bits), configuraba el codigo con el nibble inferior. Pues bien, he decidido "amontonar" todo el codigo concerniente a XLCD.h en un solo archivo, para poder usarlo como un include cualquiera, sin que recurra a los archivos del compilador.
Solo decir, que me funciona. Recordad que teneis que definir PUERTO DE DATOS, PINES {RS,RW,E} , MODO 4/8 BITS , y NIBBLE SUPERIOR O INFERIOR SI EN MODO 4 BITS (mediante el #define upper). Aunque esta en ingles, no es nada dificil de entender donde hay que cambiar los parametros.
http://www.megaupload.com/?d=GOYC0O91No es mucho pero espero que sirva.
un saludo!