USBDLM is a Windows service that gives control over Window's drive letter assingment for USB drives. Running as service makes it independent of the logged on user's privileges, so there is no need to give the users the previlege to change drive letters. It automatically solves conficts between USB drives and network or subst drives of the currently logged on user. Furthermore you can define new default letters for USB drives and much more.
USBDLM isn't a wonder tool. If Windows has problems with USB drives then USBDLM cannot fix it. Here are some tips for solving problems with USB drives.
When a removable drive (USB flash drive, flash card reader, portable hard drive) is attached for the first time, Windows mounts it to the first available 'local' drive letter. If there is a network share on this letter, Windows XP will use it anyway for the new USB drive because since XP network shares are specific to the current user and not visible in the context of the system where the letter is assigned. The USB drive then appears to be invisible.
You can change the letter assignments in the Windows Disk Management Console with a lot of mouse clicks but you have to do it again for every new device. And, for USB devices that have no serial number (in violation of the USB standards) you have to do it too when you attach it to a different USB port.