USBDLM can be configured to assign "no letter" too:
[DriveLetters]
Letters=X,Y,Z,-
This way the first three USB drives get letters X, Y and Z. Additional drives get no drive letter. Counting USB ports is not good enough beause one USB device can have multiple drives (as multislot cardreaders) or multiple partitions (USB harddrives). And the user could attach a USB hub...
Uwe Sieber