The XP defragger is a stripped down version of Diskeeper. Get the full version. It can be set to run automatically and defrags even under low free space. Its the best I have tried. There is a free 30 day trial you can checkout.
Sometimes this happens due to lack of enough free space on the drive/ other programs running/ disc errors. I suggest you first eliminate any malware. Then run a diskcleanup and run chkdsk. Windows defrag needs atleast 15% free space and no other programs running while its trying to defrag.
My...