La manera de arreglarlo es evaluar el primer caracter de la cadena de caracteres resultante de la conversión, si es un punto se le añade un cero a la izquierda:
Dim miString as String
Dim miNum as Double
... coding coding coding...
miString = Str$(miNum)
If AscB(Trim$(miString)) = 46 Then miString = "0" & Trim$(miString) El código Ascii del punto es 46. Utilizo la función AscB porque es más rápida que Asc (AscB devuelve los bits del primer caracter, Asc además los convierte a Ansi). Uso la función Trim$ para eliminar cualquier espacio en blanco al inicio y al final de miString.
Trim devuelve un Variant. Trim$ devuelve un String.
Más información sobre optimización en el uso de Strings en Visual basic 6 aquí.