Try replacing this part of the code:
vb Code:
  1. '<<<< Function that gets the drive letter from the unit mask >>>>    
  2. Private Function GetDriveLetterFromMask(ByRef Unit As Int32)
  3. Dim i As Integer      
  4. For i = 0 To 25
  5.  If Unit And i Then Exit For
  6.    Unit = Unit >> 1
  7.  Next
  8. Return Chr(i + 1 + Asc("A"))
  9. End Function
with this:
vb Code:
  1. '<<<< Function that gets the drive letter from the unit mask >>>>    
  2. Private Function GetDriveLetterFromMask(ByRef Unit As Int32)
  3. Dim i As Integer      
  4. For i = 0 To 25
  5.  If Unit And i Then Exit For
  6.    Unit = Unit >> 1
  7.  Next
  8. Return Chr(i + Asc("A"))
  9. End Function
Any better?