Hola, le di un rápido vistazo y veo que si funciona... Al iniciar aparece "INSOLAGUN" "2010", 2 segundos después aparece "TIEMPO(SEG)" y un valor 24. Al presionar el botón empieza el conteo, ahora te digo lo que modifique; Solo le agregue una resistencia PullDown (conectado a GND) entre el pin RC0 y el pulsador, pues lo que sucede es que el PIC está obteniendo falsos disparos (no sabe si es 1 o 0 cuando lee esa pata).
Mira otros esquemas ya que el motivo es obvio, cuando un pin es de entrada por lo menos debe haber una señal 0 o 1 que por lo general es una resistencia a PullDown o PullUp según sea el caso conectado a ese pin.
Otra cosa, ahí veo que usas dos veces el Lcd_Init();, no digo que está mal pero creo que ya no es necesario, tan solo usando los comandos de limpiar, mover el cursor, etc, podrías hacer todo.
Si pasa algo más me avisas.
Saludos.