In light of
Do not set a very low chunk size. It will not only make MyDefrag slower (moving big chunks is far more efficient), but more importantly will cause the MFT to become bigger and will make all disk access slower (for all applications, not just MyDefrag). Files are stored in the MFT in "extends". Contiguous extends (back-to-front on the disk) form fragments. The number of extends is not listed by MyDefrag (or any other defragmentation program) but should be as low as possible, just like the number of fragments should be as low as possible. Decreasing the chunk size will increase the number of extends.
it seems to me FileMoveChunkSize(1M) is far too small.
And first fileselect will choose all files, so nothing will be left for the 2nd one.
That's right! You'd better defragment in the first pass only the large files, and then select the remaining small files to fast fill, if that's erally what you want. But personnaly, I would most probably do the reverse: defragment small files in the first zone (at the begining of disk, where they will be faster), and use fast fill for the remaining large files in the second zone.