What makes up the bulk of the file system is JPGs. Moving files out seems to be the slow part for it, moving defraged file back in to the empty areas looks quick. Is there something I can do to speed this up.
No, a fragmented file is always moved slower than a defragmented file. You could, of course, defragment the drive first but if you add up the time it takes to defragment them and the time for the final placement (sorting), you won't see much difference.
You could also use the faster Weekly script instead.
What come to mind was starting from LCN 150,000,000 and moving the data to something like LCN 500,000,000 then starting the monthly defrag again. But not sure if mydefrag can select a block of data in an LCN range and move it.
It can with the
FileLocation file boolean. But note that once these files have been moved, MyDefrag considers them as optimized and will therefore never touch them again in the current script. So you need to two separate scripts.
I also thought about modding the monthly script and changing the start of each zone to see if i could get the data to start in an empty place, but weird things happened like the zones starting positions each run were in a different place and not a fixed place.
Without the script, it's hard to tell where the error is.

Basically, you just have to alter the first MakeGap (for MFT and directories) and "MakeGap(0)".