Print a 13x19 with no manipulation, sharpening, etc... from the 20D and you can tell immeadiately that it is far superior to any 6MP camera. When you A:B the 13x19's the results are astounding!
That has been my experience. Your results can't vary, it's physics.
About the first set of photos, sensors suffer from diffraction also (or something very similar - I'm no engineer) and the more tightly/densely packed the pixels the greater the diffraction (generally speaking). With the 10D's sensor, diffraction starts to set in around f/16 so using f/22 to judge image quality may not be the best idea. Try f/8 or something and see what you get.
Heck, I'm interested in your results since I'm certainly planning on upgrading from the 10D to the 20D sometime this winter.
There's not much difference between the images on a per-pixel sharpness basis. Even if the 20D is slightly softer per-pixel than the 10D, (which I'm not seeing in your comparison here) it has more total pixels and you'll still end up with more overall image detail in a decent print from the 20D than you'll get from the 10D. Quit pixel peeping and go take pictures. Your new camera is fine, and a definite improvement over the 10D. Enjoy it.
Whilst I don't really think the 20D resolution is more than an incremental improvement over the10D - the 20D is more likely to produce sharper results in 'real life'. The AF is vastly improved - this factor alone will help produce sharper results more often.
I don't understand why you are so concerned about sharpness, when you can change it with a Parameter setting. If you are shooting JPEG, just adjust the Sharpness Parameter higher to +1 or 2- that should more than compensate for any differences between the cameras.
Obviously, the 20D shot is exposed more pleasingly.
As for sharpness, after squinting at them both for a while, looking at small areas, I think they are essentially identical.
Tleads me to believe that the lens is your limiting factor, not the camera.
Here is my reasoning:
In both cases, the image hitting the sensor is identical, since the lens is identical.
If the resolving power of your lens were smaller than the size of a 10D pixel, then the 20D shot, with smaller pixels, would appear sharper. Since both shots appear, to me at least, to have identical sharpness, then the resolving limit, or 'blur' of your lens must be _larger_ than a 10D pixel., at least at this f-stop.
I agree with a previous poster, try the same experiment at f/8.