Hi Joe,

You got a few sticky wickets going on here.

'Set starting data bit (0 or 4) if 4-bit bus
Define LCD_DBIT 1

Like the comment says, it has to be either 0 or 4. 1 will not work.
--
'Set LCD register select port
define LCD_RSREG PORTA
'Set LCD register select bit
define LCD_RSBIT 0


RA0 is a comparator input, you can't also use it for the LCD.
--
'Set LCD enable port
define LCD_EREG PORTA
'Set LCD enable bit
define LCD_EBIT 1


Same here, RA1 is a comparator input.
--
output porta.4
output portb.5
temp var word
adcon1 = 0

ADCON1 = $FF 'No A/D converter
'Configure the comparators
CMCON.0 = 0
CMCON.1 = 0 '4 inputs, mux'd to 2 comparators
CMCON.2 = 0


You've set the Comparator output pins to OUTPUT. But then select a comparator mode that doesn't use outputs.
--
lcdout $FE,$1,$2
This clears the LCD then prints Custom Character 2, which hasn't been defined.
--
Process_Interrupts:
Disable
LCDOUT $FE,$C0,"Interrupt"
Pause 1000
Resume
Enable


The Disable should be before the Process_Interrupts label.
And, YOU MUST clear the comparator interrupt flag before resuming.