Pon este código y verás cómo en cuanto cambies la unidad de disco se te actualiza la lista de directorios:
Private Sub Drive1_Change()
On Error GoTo DriverErr
Dir1 = Drive1
Exit Sub
DriverErr:
Beep
x = MsgBox("Error: Unidad no preparada", 48)
Drive1 = "c:"
End Sub
(Se entiende que Dir1 es el nombre del DirListBox...)
Saludos.