Bueno te comento lo he conseguido, cuando me baje tu libreria hace tiempo la estaba usando con un lcd de 2x16 con los pines RD7 RD6 RD5 RD4(bus de 4 bits) y RB4 y RB6 como RS y E el caso es que me funcionaba bien pero lo que me pasaba es que cuando reseteaba no me iba tenia que resetear dos veces para que me fuese no le di importancia y lo vi un fallo pausible.
Ante ayer me llego mi lcd final un 4X20 despues de las conexiones y adecuarlo me puse a probar(retoque la libreria para que los cambios de linea fuesen correctos y tire) pero en ese momento me ocurrio lo que comente en el primer post, que la segunda vez que inicializaba en el mismo programa dejaba de funcionar o al resetear, entonces comence a ver la rutina de inicializacion y estuve viendo varias por internet al final al no encontrar el fallo la escrbi de nuevo mediante un datasheep traducido y a la primera me fue sin fallos ni al resetear ni nada.
Una pregunta conoces algun tipo de rutina para centrar las letras automaticamente dependiendo de lo larga de la palabra y otra cosa para escribir un numero que esta guardado en un unsigned char la forma mas rapido de mostrarlo por el LCD es pasarlo a una variable int des pues por un itoa y finalmente mostrarlo o se puede hacer de otro modo.
gracias por todo