After re-reading the thread I remembered PICs (or at least the compiler I use) have two separate function calls: one for analog channel seleciont,another to instruct the chip to start sampling. A small delay (some 50us) is required between the former and the latter.
Arduino apparently doesn't have a channel selection function, so the first analogRead() mentioned by ladyada is used as channel selection, the second one does the proper reaing.
I like learning things... ![]()