never struck that before looks like var[].highbyte and var[].lowbyte upsets things

;pic18f45k20
Code:
 #CONFIG
  CONFIG  FOSC = INTIO67
  CONFIG  FCMEN = OFF
  CONFIG  IESO = OFF
  CONFIG  PWRT = OFF
  CONFIG  BOREN = SBORDIS
  CONFIG  BORV = 18
  CONFIG  WDTEN = ON
  CONFIG  WDTPS = 512
  CONFIG  CCP2MX = PORTC
  CONFIG  PBADEN = OFF
  CONFIG  LPT1OSC = OFF
  CONFIG  HFOFST = ON
  CONFIG  MCLRE = ON
  CONFIG  STVREN = ON
  CONFIG  LVP = OFF
  CONFIG  XINST = OFF
  CONFIG  DEBUG = OFF
  CONFIG  CP0 = OFF
  CONFIG  CP1 = OFF
  CONFIG  CP2 = OFF
  CONFIG  CP3 = OFF
  CONFIG  CPB = OFF
  CONFIG  CPD = OFF
  CONFIG  WRT0 = OFF
  CONFIG  WRT1 = OFF
  CONFIG  WRT2 = OFF
  CONFIG  WRT3 = OFF
  CONFIG  WRTC = OFF
  CONFIG  WRTB = OFF
  CONFIG  WRTD = OFF
  CONFIG  EBTR0 = OFF
  CONFIG  EBTR1 = OFF
  CONFIG  EBTR2 = OFF
  CONFIG  EBTR3 = OFF
  CONFIG  EBTRB = OFF
#ENDCONFIG

  define OSC 64
 osccon=$70   '64 mhz
 OSCTUNE.6=1
 
 
 
 pause 2000
 
Serout2 PORTb.7,84,["ready",13,10] 
 
 
 
 
 
 
 
 
 Gate_Firm_Rev var word[6]
 Gate_Hard_Rev  var word[6] 
 GateID_word     var word[6] 
 z var byte
 x var word
 RX_payload var byte[4]
 RX_payload[1] =84
 RX_payload[2] =0
 RX_payload[3] =0
 RX_payload[4] =0
 GateID_word[0] =10
 z=0
 
 
 Gate_Firm_Rev[z] = 0 ' clear selected varable
 Gate_Hard_Rev[z] = 0 
 Gate_Firm_Rev.lowbyte [z] = RX_payload[1] ' Indexed Gate Firmware revison lowbyte
 Gate_Firm_Rev.highbyte[z] = RX_payload[2] ' Indexed Gate Firmware revison highbyte 
 Gate_Hard_Rev.lowbyte[z] = RX_payload[3] ' indexed gate hardware revision lowbyte
 Gate_Hard_Rev.highbyte[z] = RX_payload[4] ' indexed gate hardware revision highbyte
Serout2 PORTb.7,84, ["z = ",dec z , " GateID_word[z] = ",dec GateID_word[z] ," Gate_Firm_Rev[z] = ",DEC Gate_Firm_Rev[z],13,10,10,10] 'debug 
 x=  Gate_Firm_Rev[0]
 Gate_Firm_Rev[1] = x
 Gate_Firm_Rev[2] = x
 Gate_Firm_Rev[3] = x
 Gate_Firm_Rev[4] = x
 Gate_Firm_Rev[5] = x
 Serout2 PORTb.7,84, [" 0. GateID_word[0] = ",dec GateID_word[0] ," Gate_Firm_Rev[0] = ",DEC Gate_Firm_Rev[0]," Gate_Firm_Rev.highbyte[0] = ",DEC Gate_Firm_Rev.highbyte[0] ," Gate_Firm_Rev.lowbyte{0} = ",DEC Gate_Firm_Rev.lowbyte[0] ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" 1. GateID_word[1] = ",dec GateID_word[1] ," Gate_Firm_Rev[1] = ",DEC Gate_Firm_Rev[1]," Gate_Firm_Rev.highbyte[1] = ",DEC Gate_Firm_Rev.highbyte[1] ," Gate_Firm_Rev.lowbyte{1} = ",DEC Gate_Firm_Rev.lowbyte[1] ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" 2. GateID_word[2] = ",dec GateID_word[2] ," Gate_Firm_Rev[2] = ",DEC Gate_Firm_Rev[2]," Gate_Firm_Rev.highbyte[2] = ",DEC Gate_Firm_Rev.highbyte[2] ," Gate_Firm_Rev.lowbyte{2} = ",DEC Gate_Firm_Rev.lowbyte[2] ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" 3. GateID_word[3] = ",dec GateID_word[3] ," Gate_Firm_Rev[3] = ",DEC Gate_Firm_Rev[3]," Gate_Firm_Rev.highbyte[3] = ",DEC Gate_Firm_Rev.highbyte[3] ," Gate_Firm_Rev.lowbyte{3} = ",DEC Gate_Firm_Rev.lowbyte[3] ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" 4. GateID_word[4] = ",dec GateID_word[4] ," Gate_Firm_Rev[4] = ",DEC Gate_Firm_Rev[4]," Gate_Firm_Rev.highbyte[4] = ",DEC Gate_Firm_Rev.highbyte[4] ," Gate_Firm_Rev.lowbyte{4} = ",DEC Gate_Firm_Rev.lowbyte[4] ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" 5. GateID_word[5] = ",dec GateID_word[5] ," Gate_Firm_Rev[5] = ",DEC Gate_Firm_Rev[5]," Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev.highbyte[5] ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev.lowbyte[5] ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev[0]/256 ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev[0]//256 ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev[1]/256 ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev[1]//256 ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev[2]/256 ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev[2]//256 ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev[3]/256 ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev[3]//256 ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev[4]/256 ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev[4]//256 ,13,10,10,10 ] 'debug
 Serout2 PORTb.7,84, [" Gate_Firm_Rev.highbyte[5] = ",DEC Gate_Firm_Rev[5]/256 ," Gate_Firm_Rev.lowbyte{5} = ",DEC Gate_Firm_Rev[5]//256 ,13,10,10,10 ] 'debug
result

ready
z = 0 GateID_word[z] = 10 Gate_Firm_Rev[z] = 84

0. GateID_word[0] = 10 Gate_Firm_Rev[0] = 84 Gate_Firm_Rev.highbyte[0] = 0 Gate_Firm_Rev.lowbyte{0} = 84

1. GateID_word[1] = 0 Gate_Firm_Rev[1] = 84 Gate_Firm_Rev.highbyte[1] = 84 Gate_Firm_Rev.lowbyte{1} = 0

2. GateID_word[2] = 16367 Gate_Firm_Rev[2] = 84 Gate_Firm_Rev.highbyte[2] = 0 Gate_Firm_Rev.lowbyte{2} = 84

3. GateID_word[3] = 0 Gate_Firm_Rev[3] = 84 Gate_Firm_Rev.highbyte[3] = 84 Gate_Firm_Rev.lowbyte{3} = 0

4. GateID_word[4] = 63744 Gate_Firm_Rev[4] = 84 Gate_Firm_Rev.highbyte[4] = 0 Gate_Firm_Rev.lowbyte{4} = 84

5. GateID_word[5] = 49026 Gate_Firm_Rev[5] = 84 Gate_Firm_Rev.highbyte[5] = 84 Gate_Firm_Rev.lowbyte{5} = 0

Gate_Firm_Rev.highbyte[5] = 0 Gate_Firm_Rev.lowbyte{5} = 84

Gate_Firm_Rev.highbyte[5] = 0 Gate_Firm_Rev.lowbyte{5} = 84

Gate_Firm_Rev.highbyte[5] = 0 Gate_Firm_Rev.lowbyte{5} = 84

Gate_Firm_Rev.highbyte[5] = 0 Gate_Firm_Rev.lowbyte{5} = 84

Gate_Firm_Rev.highbyte[5] = 0 Gate_Firm_Rev.lowbyte{5} = 84

Gate_Firm_Rev.highbyte[5] = 0 Gate_Firm_Rev.lowbyte{5} = 84