It's a known problem, explained in the FAQ (why am I getting garbage data from analogRead()): http://arduino.berlios.de/index.php/Main/FAQ

It will be fixed in release 0003 of the Arduino software (coming very soon).

The original Arduino boards had the pins numbered in the opposite order, and the software was kept unchanged for compatibility with the old boards, but now that there are so many more boards with the numbering, the software will be updated to that scheme.