Bungie confirms that Halo 3 does indeed run natively at 640p and explains why this is so - simply, for their lighting engine:
"One item making the interwebs rounds this week was the scandalous revelation that Halo 3 runs at "640p" which isn't even technically a resolution. However, the interweb detectives did notice that Halo 3's vertical resolution, when captured from a frame buffer, is indeed 640 pixels. So what gives? Did we short change you 80 pixels?
Naturally it's more complicated than that. In fact, you could argue we gave you 1280 pixels of vertical resolution, since Halo 3 uses not one, but two frame buffers – both of which render at 1152x640 pixels. The reason we chose this slightly unorthodox resolution and this very complex use of two buffers is simple enough to see – lighting. We wanted to preserve as much dynamic range as possible – so we use one for the high dynamic range and one for the low dynamic range values. Both are combined to create the finished on screen image.
This ability to display a full range of HDR, combined with our advanced lighting, material and postprocessing engine, gives our scenes, large and small, a compelling, convincing and ultimately "real" feeling, and at a steady and smooth frame rate, which in the end was far more important to us than the ability to display a few extra pixels. Making this decision simpler still is the fact that the 360 scales the
"almost-720p" image effortlessly all the way up to 1080p if you so desire.
In fact, if you do a comparison shot between the native 1152x640 image and the scaled 1280x720, it's practically impossible to discern the difference. We would ignore it entirely were it not for the internet's propensity for drama where none exists. In fact the reason we haven't mentioned this before in weekly updates, is the simple fact that it would have distracted conversation away from more important aspects of the game, and given tinfoil hats some new gristle to chew on as they catalogued their toenail clippings."