Here is the entire program I am working with just to get the relay to operate properly:

@ DEVICE HS_OSC, WDT_OFF, LVP_OFF, BOD_OFF, PWRT_ON, PROTECT_OFF

Define OSC 20

ADCON1 = 7 ' Digital I/O for Registers A & E
TRISA = 0 ' PORTA as outputs
PORTA = 0 ' PORTA pins low
TRISB = 255 ' PORTB as inputs from Mach3
PORTB = 255 ' PORTB pins high for active low
OPTION_REG.7 = 0 ' Enable PORTB pull-up resistors
TRISC = 0 ' PORTC as outputs
PORTC = 0 ' PORTC pins low for active high
TRISD = 0 ' PORTD as outputs
PORTD = 0 ' PORTD pins low for active high
TRISE = 7 ' PORTE as inputs from machine for x, y, z travel limits
PORTE = 7 ' PORTE pins high for active low

ChrgPmp var PORTB.0 ' Input for Mach3 charge pump
CntCP var byte ' Count check for 12kHz on PORTB.0
Estop var PORTA.0 ' Send Emergency stop to Mach3
LPTports var PORTA.1 ' Enable parallel ports
Aux var PORTA.2 ' Auxilary power
Coolant var PORTA.3 ' Coolant power
Spindle var PORTA.4 ' Spindle power
SpinDir var PORTA.5 ' Spindle direction
XLED VAR PORTD.0
YLED VAR PORTD.1
ZLED VAR PORTD.2
X var byte ' Counter for pin cycling

'----------

MAIN:
count chrgpmp, 1, cntcp ' Count freq. on B0, Mach3's 12kHz
if (cntcp >= 11) and (cntcp <= 13) then ' Freq. must be between 11 & 13kHz
lptports = 1
else
LPTports = 0
goto main
endif
'gosub CK_PORTB
'gosub CK_PORTE
goto main
end