During further testing (see comment 19 below) I have found that an old issue is not entirely resolved:
1.
You should consider this scenario: The user selects some drawings for processing and then decides to switch to a different folder. But instead of selecting a new folder the user changes his mind and cancels the folder dialog. Your main dialog now reports: "NO DIRECTORY SET", but the left list_box is not cleared. In fact you can still select items from the list resulting in "nilDrawingName.dwg" entries in the right list_box.
T:
I found this issue and I think that I have fixed it to retain the current directory is the user cancels.
R:
If the user cancels the folder dialog the BatchDirectory variable is set to "nil" (string). If the user subsequently uses the arrow keys the results are not as expected.
19.
I could not reproduce what you describe in your last post, but your solution points to a new issue. Apparently the variable BatchDirectory can sometimes contain a string that does not end in a path separator. I think it is essential for your program that this variable is either nil or contains a path string that does end in a path separator.