Hi Davey,
Apologies, but I have no intimate knowledge of the defrag APIs since I am not in the software field (I am in materials science ). I am just reporting what I read somewhere else. As far as I am aware, the defrag API for NTFS in XP was developed jointly by Microsoft and Diskeeper, and although the API does support MFT defragmentation, the XP defragger itself cannot defrag the MFT. Don't know why MS thought it unnecessary to include the feature...maybe due to licensing agreements when they borrowed the 'lite' diskeeper version many years ago.
But since almost all defraggers use the same defrag API, some can leverage it's power better than others and include MFT defrag and other enhancements. Diskeeper surely defrags the MFT, but I think other commercial defraggers should also be able to do the same. I haven't investigated the other ones deeply enough to check, since Diskeeper has worked nicely for me all this time.
Vista defragger does defrag the MFT, so that's an improvement over the XP WDD! BTW, yes you are right I think addition of a large number of files would probably cause the MFT to expand and then when you delete the files, those records would also be removed, resulting in holes in the MFT and fragmentation.