Hi, I'm puzzled

I had no problem with the following code until I changed PIC from 18F4620 to 18F4331. Seem's like it always read ADC channel 0

Tried many variations of the defines but basically this is what I'm using:

DEFINE ADC_BITS 10
DEFINE ADC_SAMPLEUS 50
DEFINE ADC_CLOCK 3
ADCON2.7 = 1 'Right justified A/D
ANSEL0 = %11000011 'ADC pins: AN0,AN1,AN6,AN7
ADCON0 = %00000011
ADCHS = %01000100


then I have the four subroutines called by the program:

GetDure:
adcin 1, duration
duration = (duration*2) + 70
return

GetDpth: 'Return Depth
adcin 7, DPTH
dpth = 1024-dpth
DPTH = (dpth*5)/21
RETURN

GetStrk: 'Return Stroke length
adcin 6, STRK
STRK = (STRK*20)/51 '0 to 401
STRK = STRK + 80 '80 to 480 (1 to 6 inches)
RETURN

GetSPD: 'Return speed
adcin 0, PulseLen
PulseLen = ((1026-PulseLen)*4) + 35 '35 to 4100
return


The program compile fine and worked very well before with PIC18F4620, (using different define to match PIC). Now, It looks like it always read channel 0, for all 4 subroutines. It doesn't care about the value for the channel, after the ADCIN. What I'm missing ???

J-P