From Canon's website "Professional photographers and advanced amateurs will be astonished with the incredibly sophisticated abilities of the Canon EOS 20D digital SLR. With a large 8.2 Megapixel CMOS sensor (APS-C size) and the DIGIC II image engine, the EOS 20D delivers high-speed image processing, outstanding resolution and natural colour reproduction."

20D is cheaper than the 30D, has a few less features that I never missed.
If price is a factor I'd look for a 20D and then buy nicer lenses

Practically the autofocus speed on the 20D or 30D makes them more attractive than the 350XT. It's about the only thing you've mentioned that makses me favour spending more on the body though.

Don't get too hung up on the MP count, picture quality is related to more things than just how many pixels you've got. How big they are, how big the sensor is, what kind of sensor, what processing it gets after reading off the sensor, all contributes to the quality of the image.
Again I personally think there's not a lot between the 20D and 30D there, but they both outshine the 350XT.