Non lo so, però è dovuto al fatto che Drive1.Drive non è formattato adeguatamente per l'assegnazione.
Infatti Drive1.Drive è fatto così --> X: <-- e l'assegnazione dovrebbe essere --> X:\ <-- .

L'assegnazione viene eseguita, ma sul Drive principale (C:\) non adeguatamente.

Assegnalo così:
codice:
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive & "\"
End Sub