Here is a trick I picked up in my amateur computer repairing (Every geek needs one of those "No, I will not fix you computer!" shirts, no?).
You have PC A running windows XP/Pro/(Vista?) and you want to keep all your Windows settings, program installs, etc. and use them on your new, shiny PC B. Maybe you have even assembled PC B yourself and didn't order a new hard drive in anticipation of using your old system disk. Well, chances are that if you just rip your hard drive out of PC A and stick it in PC B, Windows won't boot. You'll get a blue screen of death STOP ERROR or maybe it'll get to the splash screen but then freeze up. Certain drivers for your motherboard and chipset are sort of "embedded" in your windows install so deeply that it can't adjust for the new hardware of PC B.
The Solution? Grab your Windows install disk and boot from that. When prompted, select "Install windows" or whatever, and accept the EULA. Eventually, the installer should say that it is scanning your system for previously installed versions of Windows. It should detect your working windows XP installation and ask you if you would like to repair this installation. Hit 'R' or whatever it says will repair the installation. Thirty minutes or so later, you should be up and running your old installation on your new PC. Certain things might need some fixing afterward (for instance, depending on your instal CD version, you might need to install service packs and hot fixes again) but it may save a lot of time compared to starting from scatch.
I know Microsoft has some kind of "Transfer Files and Settings" application that is supposed to do something like this, but I doubt it works so smoothly, and it requires multiple hard drives (one for the new install, one to keep the old install).