The answer is maybe, or It Depends
I have cloned the hard drive of my XP machine a number of times, and installed in newer machines. I do this because I do not want to go through the hassle of re-installing everything. But that said it does not mean this approach will work for you.
Here is what I have done:
1) Get New disk drive of the type I am going to need (Sata most likely). Please note old machine may not have support for Sata drives, but there are Sata to IDE converters that are inexpensive and work reasonably well.
2) Connect the new drive to the existing desktop.
3) Install the software from that came with the new drive, for Seagate drives you can use either the Maxtor software (MaxBlast) or the Seagate Software DiscWizard. Both of these software packages have drive cloning as a feature allowing a physical copy to be made and the new drive will be "Boot-able".
4) Remove the drive from the old system and install in place of the boot drive in the new system.
5) Boot off the new drive, expect some complaints from Windows along the way, and expect to see a large number of installing or updating driver messages. Have your original windows CD handy you may need it.
6) After / Or if boot completes you are good to go, put the original hard drive back in the system and have it be a 2ND HD.
But having said all of this there is something to be said for a new clean install of windows. Hope this helps you.
BTW, the Maxtor and Seagate "FREE" software is built by Acronis. I do not see the need to buy software just to clone a drive.