Yo lo haría de otra manera  

 , no se si funcionaría bien, pruebalo y me dices:
Asignas el numero a una variable por ejemplo "numero"          
        Select Case Len(numero)
            Case 1: numero = "00000" & numero
            Case 2: numero = "0000" & numero
            Case 3: numero = "000" & numero
            Case 4: numero = "00" & numero
            Case 5: numero = "0" & numero
            Case 6: numero = Plano
        End Select
Y luego muestras el numero con  la mascara, seguramente si los 3 primeros  son nulos 000.XXX te lo pone como 0.XXX
Para solucionar esto tambien puede ser que lo consigas iendo por declarar la variable no como Long ni Integer sino como un String
Prueba y comenta quizas te pueda ayudar alguien mas. 
