Hola.
Gracias por la respuesta fjalex, pero ya comprobé lo de la dirección de escritura y no hace falta inicializar el display , puesto que el programa está en basic (microcode y picbasic pro) y la librería DLL del mismo ya se encarga de ello.
Yo creo que el problema puede estar en Proteus porque, como ya he dicho, he montado este circuito físicamente y he grabado el PIC con el mismo programa que le estoy pasando al proteus, y el circuito funciona a la perfección.
Y tengo puesto el R/W a masa (en el circuito físico).
Además la configuración del esquema la saqué de los ejemplos de proteus, con lo que no creo que esté mal.
Si con esto tan sencillo tengo estos problemas, qué será cuando quiera complicarlo un poco

. En fin, seguiré probando. Agradezco de verdad todas las ideas que me podais dar.
Un saludo.