The behavior you describe is often a consequence of not having the DCOM Server Process Launcher Service running.
Even if set to manual, the Service will not initiate by simply starting the defrag utility.
To access 'Services" in XP, open a Run box from the Start Menu and type: services.msc.
Scroll down to DCOM Server Process Launcher and right click it. I
In the dialog box that opens, use the small central drop-down menu to select Automatic. Click Apply. This will ensure that the Service starts with Windows at boot. Before clicking OK, press the small "start" button to the left of the dialog box. This will start the Service immediately.
It is very easy to get into serious difficulties by changing the settings for Services in XP. I suggest that you return all settings to XP default, and then begin to investigate them one-at-a-time.
Quick default Services list: tech-recipes.com/windows_tips236.htm
These 2 sites offer solid info on XP Services:
Black Viper (for SP3): blackviper.com/WinXP/servicecfg.htm
Black Viper (for SP2): blackviper.com/WinXP/Archive/servicecfg.htm
The Elder Geek: theeldergeek.com/services_guide.htm
Black Viper is a little more aggressive, The Elder Geek a little more conservative.
Compare and contrast to determine your needs.
It is important to remember that if a Service is Disabled, it simply will not work until reset from services.msc. However, if a Service is set to manual, it will most often be started automatically by the system if needed. Periodically review your Services list for "Manual" Services that are always running. Your particular system needs them, and it will reduce the burden on the system at boot if they are simply set to Automatic.
It is strongly suggested that changes to Services be made one-at-a-time so that it is possible to determine which Service setting is causing the issue at hand.
As long as we are on the subject of Defragmentation, let me suggest free JkDefrag: kessels.com/Jkdefrag/
Ugly as sin and twice as fast. Defrags very full disks and optimizes even those system files skipped by the native defragger.
Defraggers work according to various different methodolgies. It is best to stick with one. After all, if I have a gal come in and straighten up my house, and like the job, I keep using her. Someone else might do a good job as well, but things would be in different places. Why change one 'good order' for another? It's just a strain on the system and disk.