My hard drive is partitioned. My OS partition (Win XP) will defrag with Windows Defragmenter is less than 3 minutes if the last defragmentation was, oh, maybe 2 or 3 weeks ago, and I haven't installed or uninstalled programs to that partition. My Docusments folder is on a different partition; I do not save data files on the OS partition; it's just for Windows and programs.
Doing a repeat defragmentation immediately after a normal defragmentation runs quicker for me, not slower. Likewise, none of my other partitions normally take more than a few minutes to defrag.