I've never had luck upgrading hardware and assuming that Linux would adjust the drivers the way Windows does, and keep on going. It seems that any new hardware upgrade involving the motherboard requires a fresh install. As far as PCLOS 2009, if it hasn't been updated to the latest, which I believe required a reinstall anyway, it simply won't work. The kernel is too old for the hardware.
I've posted on many Linux sites about this one area of Linux I don't like. If I build the latest/greatest computer with all the best parts, I need to have the latest kernel to install Linux. I cannot go back and install Red Hat 7.3, for instance. However, I can boot up a Windows XP disk that I've had since 2001, and install it, and then upgrade it with the latest service packs and drivers and use it. So, why does Linux have to be this way? I can take an installation of Windows on a hard drive from one computer, and move it to another, and aside from the activation issue, it'll reconfigure itself to work on the new hardware. It doesn't seem, in my experience, that Linux works that way at all. For all the wonderful things Linux does right, this is one thing they don't.
Five days ago, I replaced my MB with a new AM3+ socket Gigabyte 970A-UD3 board, a new 4 core AMD FX 4100 CPU, 16 GB DDR3 RAM, 500 Watt Antec PS, PCI-e slot GeForce 9800 video card, and replaced the old IDE DVD burner with a new SATA unit. (no IDE sockets on this board) That pretty much leaves the external Hard drives and the case itself as all that's left of the old build.
Having read the above and having only booted into the 64 bit test install previously, I rebooted and chose the 2009 TR5 installation, the oldest OS on this hard drive. I'm typing this from that installation. It booted without any issues whatever. All hardware was found, properly configured, and is fully functional. I didn't have to do anything. It just worked.
This installation was originally done on an IDE hard drive on a previous build with a 754 pin AMD 64 single core 3000+ CPU, all IDE controllers (no SATA) 10/100 Ethernet card, 2 GB DDR RAM, and a nVidia AGP slot Geforce 6600 video card. When I did the previous rebuild I used rsync to copy the installation to the External drive it now resides on, and it's worked equally well (without issues) with an AM2+ socket MB with an AMD 64 5200+ dual core CPU, 4 GB DDR2 RAM, Gigabit Ethernet card, PCI-e Geforce 8600 video card, with both IDE and SATA drive controllers. That's three generations of builds on this machine, and this installation stills boots and runs without a hiccup.
Being as this OS is on an external drive, I also boot it from an old 2002 Compaq with a 32 bit AMD XP 2100+ CPU and 2 GB DDR RAM, 10/100 Ethernet card and an old nVidia Geforce MX 400 on board GPU. I had to add a USB2 PCI card in order to connect the external drive, then copy the TR5 /boot directory to the Compaq's internal drive to enable the boot up, because the machine's too old to have a "Boot From USB" BIOS option.
Not only has it booted without issue on all the above machines, I bring the hard drive with me when I go to other peoples houses to work on their errant machines, and have yet to have boot up issues with any installation. The very worst problem I've encountered is with having to reconfigure the video drivers if the machine in question has other than an nVidia card within the range of the current driver, and that's just a matter of running PCC from the VT, with a root login, and selecting the correct driver.
How compatible ones older installation is with newer hardware depends a lot on how radical the change in hardware is, how well the hardware manufacturers support Linux, and the kernel used by the installation. Assuming the hardware in question has proper manufacturer support for Linux, the newer the kernel the greater the chance the drivers needed will be present, and the greater the chance the hardware will be properly detected and configured on first boot up. If the proper drivers are present, then there should be little or no problems with booting on a different or upgraded machine. On this TR5 installation the kernel in use is;
[root@fatman ~]# uname -r2.6.27.31.tex5