Creo que todas las conexiones al LCD en 4 bits son iguales.
Y lo unico que puede cambiar es si vas a unicamente escribir o leer tambien.
Respecto al mal funcionamiento, lo primero que probaria es cambiar el LCD. Y me explico el por que.
Si tenes funcionando el programa y decis que el programa es correcto, no deberias tener problemas, D0 a D3 solo se toman en cuenta en la inicializacion, luego de inicializado el modulo del LCD no se deberia prestar mas atencion a estos pines. Y vos no estas teniendo problemas con la inicializacion, sino que luego de haber inicializado correctamente el LCD ( configurarlo a 4bits ) estas teniendo problemas con que aparecen caracteres raros y se borra la pantalla. Entonces es un problema de la RAM del LCD y el barrido que esta haciendo, suponiendo que no le llega nada y hace tenes esos problemas.
Resistencia en el pin E del LCD no hace falta, por que la misma salida del PIC lo tiene a 0V o 5V, en ningun momento deberias poner E como entrada para que necesites de ese pull-down.
Respecto a lo de las demas entradas/salidas D0 a D3 coincido con ambas versiones, tanto como dejarlas al aire, son entradas ( y no deberian ser tomadas en cuenta por el driver del LCD terminada la inicializacion ), y tambien por lo que dijo Chaly de que existe la posibilidad que si usas el pin R/W de tenerlas como salida y se necesitaria una resistencia de pull-down o pull-up por cada pin ( no una para todas ).
Finalmente es posible aplicar lo de w3-sistemas si es que nunca vas a leer desde el LCD es decir el pin R/W lo tenes a 0V siempre. Esto va a depender de tu libreria, si es que lo usa o no.