There are in fact technical reasons why XNA games need to run on the CLR. The XNA CLR stack implements aspects of the security model.
The fact that the 360 itself can run "native" code (in fact: hardware-managed code running in a VM) is irrelevant; Microsoft has onerous licensing and contractual agreements with the people they allow to write native games. On the other hand, anyone can write an XNA game.
In point of fact, XNA is more burdensome on X360 developers than "3.3.1" is on iPhone developers. For the most part, iPhone devs are on a somewhat level playing field with Apple (there are clearly exceptions, but the showcase apps on the iPhone tend to come from third parties). Apple's restrictions lock developers into 95% of the same platform as Apple itself uses. XNA is a second-class citizen on the XBox 360. Microsoft does not allow random people to write full native Xbox titles.
Microsoft: Nobody can develop first-class applications for the platform without licensing the (extremely expensive) X360 XDK, which includes an approved compiler toolchain.
Apple: Anyone running OSX can develop first-class applications for the platform using Xcode for a (very cheap) developer fee.
XNA is a red herring. It's (to use MSFT's term) a hobbyist platform.
The fact that the 360 itself can run "native" code (in fact: hardware-managed code running in a VM) is irrelevant; Microsoft has onerous licensing and contractual agreements with the people they allow to write native games. On the other hand, anyone can write an XNA game.
In point of fact, XNA is more burdensome on X360 developers than "3.3.1" is on iPhone developers. For the most part, iPhone devs are on a somewhat level playing field with Apple (there are clearly exceptions, but the showcase apps on the iPhone tend to come from third parties). Apple's restrictions lock developers into 95% of the same platform as Apple itself uses. XNA is a second-class citizen on the XBox 360. Microsoft does not allow random people to write full native Xbox titles.