1) I found a number of files that could not be moved.
There are any number of reasons why a file can show up in the list. For example, if there is no gap big enough to move the file to. If you run JkDefrag with a higher debug option you will see more info, for example "-d 5". Are the files compressed? (open the properties of a file, see the advanced attributes).
2) The defrag reports that it finished, but I don't think it has.
The status report is only written to the logfile when JkDefrag finishes.
I don't know if JKDefrag moves the files alphabetically
Yes, with "-a 7".
4) I cannot run JKDefrag against c: and d: at the same time.
I advice against it, but it is possible with a little trick. Make copies of the JkDefrag.exe executable under different names, for example JkDefragC.exe and JkDefragD.exe. You can run copies simultaneously, the program only checks for the original executable names.