Debido a que es un codigo larguisimo para verificar que es o que no anduvo bien, o como mejorarlo, eso te lo dejo a vos.
Deberias de leer el datasheet del controlador de tu LCD
LCD_MENS.INC y LCD_MENSD-R.INC me parece que son identicos y no hay razon para tener 2, si con un una simple pregunta de un bit (BTFSS o BTFSC) podemos hacer que cambie la direccion. y tambien de linea, dejando 1 solo archivo para todo.
Y tu problema esta aca (dentro de esos archivos):
LCD_PrimeraPosicion
clrf LCD_CursorPosicion ; El cursor en la posición 0 de la línea.
call LCD_Borra
LCD_Borra envia el comando 0x1 al LCD, haciendo que se borre toda la pantalla y la direccion de datos pase a ser 0x0, es decir la linea 1.
Asi que si luego de esa linea queres que vaya a la linea 2 podrias hacer un CALL LCD_Linea2 ( Tambien podes agregarle un BTFSS o BTFSC para que quede para ambas lineas ) no me fije si en algun momento cambia de linea nuevamente, pero te digo que por ahi anda.