Hi again,
AFAIK it is a cmp limitation, it will remove empty folders. There is a flag introduced some time ago about nodump handling i think, it can have 3 dif values, something like required, ignore and some other but it only applies to nodumps (files with 0size 0crc for example) so cmp know if it should keep / create them or they can be ignored/removed.
If you have a zip with empty folders and use dir2dat they will not be present in the datfile, only if they have something inside (an empty file for example), yes i suppose this may be a limitation to some DOS games that have some empty folder that will be later used to store files (say savegames) and weren't coded to create the folder if missing (i said it may because i haven't checked if this really happens but the probabilities are high).
There have been a few DOS collections but currently i only remember one relevant that includes a lot of sets but i've never seen complains about it, it is available in a well known tracker/forum dedicated to emulation for example.
bye