Often, but not always, slow booting is due to some device driver or startup application hanging. Whether it is a driver or one of the startup apps depends on when you see the hang. If it hands after getting to the desktop it is likely one of the startup apps. If it hangs in the earlier stages (XP progress bar through desktop/login screen loading) it may very well be a device driver.
You can do a couple of things. First, look in control panel -> administrative tools -> event viewer and see if there are any system or application events, either warnings or errors. You may find something relevant.
Second, reboot and mash the F8 key after the BIOS is done with its POST screens and starts loading XP. This will bring up the boot menu. Choose boot with logging. This will write a boot log to the root of the system partition. You may see an indication in there of where it is hanging.
Third, if none of this works you can use msconfig, set XP to "Selective Startup" and disable all the startup services and applications. Now reboot and see if the problem is gone. If it is, start reenabling them one by one until it returns.
Good luck.