Yo tuve el mismo problema pero con un microcontrolador PIC de la familia 18. En principio creia que el fallo se debía a los tiempos de espera que debes respectar (los podrás ver en las características de la LCD). Le dí muchísimas vueltas, dejandole retardos de sobra entre cada instrucción, pero resultó no ser ese el problema. Al final el problema era que utilizaba una de las patillas para controlar la LCD, y para programar el PIC, y no se porque, al hacer esto, no me detectaba bien las intrucciones la LCD.
Prueba lo de los retardos, seguramente vaya por ahi el error.
Espero haberte servido de ayuda.
Un saludo