You have nine bits in this line.
adcon1=%100000010
That's probably the reason for the strange behaviour.