[Nokia Lumia 800] ChrisKringel:
First: I'm not an IT expert so there might be some mistakes in the following Explanation.

The first thing we have to consider is the architecture. As you may know there are different processors out there. There are the "old-fashioned" computer x84 (32bit) processors and the now well spread 64bit processors. For mobiles there are ARM processors. When a program is compiled it gets translated into certain codes that are executed by the processor (and other hardware like the graphics processor). So every OS has to be programmed, optimized and tested on a range of processor types. There are even differences in different generations of these processors with different capabilities. I don't really think that matters to the WP8 portability, as far as I know only the performance would be different.

However WP8 also has a different kernel. Windows Phone 7 is based on WinCE and Windows Phone 8 will have the same "foundation" as the Windows 8 products. This presents us with the first problem. Every phone has "custom" peripherals by the OEM: the camera, the speakers and microphone, WLAN chips, BT hardware, etc.. This hardware is different for every device series. A HTC Mozart has a different camera than a HTC Titan, and our Lumias have even another version ( I think you get the point). The Windows Phone operating system doesn't really know how to access all the variations of different peripherals directly. A HTC camera is controlled in a different way than a Lumia camera. This is why the OEMs (Nokia, HTC, Samsung, etc.) have to write drivers and integrate them into their phone software. A driver provides a way for the System to communicate with the hardware. The driver defines a fixed set of functions. For a camera some of the functions could be: "Give me your current status", "What do you currently see", "Set the ISO value to X". So Windows Phone doesn't know how to do the operations directly on the hardware, instead it knows that there is a driver that has the functions to do the desired task. The phone communicates through the driver with the hardware. The way of communication is like a predefined contract and every manufacturer has to implement this contract. However Windows Phone 8 changes some things how drivers are handled (the contract has changed) so the OEMs would have to rewrite their drivers. This is tied to lots of work, ressources, time and money.

(At this point you might ask why the HD2 can run Windows Phone 7. This is because the HD2 hardware is very very similar to the HD7 hardware. So the HD2 can use drivers of the HD7. Also Windows Mobile is based on WinCE as well.)

Another thing is that Windows Phone 8 is speculated to bring a number of security related improvements. These come with restrictions as well. It is possible that some hardware is required to encrypt and decrypt certain stuff. (Now a very speculative part) Windows Phone 8 might also require UEFI. When you turn on your PC the OS has to be loaded somehow. This is most commonly done by the BIOS. The BIOS is saved on a chip on your motherboard and this chip is (more or less) a read only memory [when you open your computer you might see a chip with a shiny PHOENIX or AWARD sticker on it]. It is not always easy to update the BIOS and manipulating it can cause your PC to become unbootable. UEFI is a successor to the BIOS. It (UEFI) implements a wide array of features. For instance it can check signatures and verify the OS integrity to see if someone has manipulated the OS.

These are just my two cents, you can find more (possible) reasons by digging through the various WP7&8 sections here on XDA. Also feel free to ask if something is unclear. It's hard to tell the hardware related reasons that prevent porting because I didn't stumble upon a "Windows Phone 8 hardware requirements"-sheet yet. But I guess security related hardware is the main thing that prevents WP8 from being ported to current generation hardware. On the bootloader/BIOS/UEFI thing, a person with more knowledge about Emmbeded Systems could explain more I guess.

Regards

Chris