drive leter assignment for storage drive

Problem with drive letter assignment for storage drive:

We have a system having Windows 98 on which there is a drive
that is not formatted. On this system we are trying to install device
storage support (memory stick).

We observe that when our storage virtual port driver is being loaded
on this type of system,
the drive letter being assigned to our device is the same as the last
letter already existing on the system. Ideally it should be a new drive
incrementally following the last drive letter already existing on the
The drive letter is being notified to the port driver through the
callback function part of the Asynchronous Event routine registered in
the IOS
Driver registration packet at the time of initialization.

We also observe that if there is no unformatted drive, or if we format
the drive after
the device is installed and system rebooted, we get the right drive
letter upon reboot.

Has anyone come across this scenario. What could be the reason and a
possible solution for this kind of an