No recuerdo por qué se produce ese error. Una vez, hace mucho tiempo, me pasó algo similar. Busqué en internet la explicación y la encontré, pero, como dije, no la recuerdo. Lo resolví poniendo coma en lugar de puno y convirtiendo los valores a Currency (CCur).
Private Sub Command1_Click()
MsgBox CCur(Text1) - CCur(Text2) 'Convierto ambos valores a Currency
End Sub
Private Sub Form_Load()
Text1 = "14,29" 'Reemplazo el punto por la coma
Text2 = "14,20" 'Reemplazo el punto por la coma
End Sub
No sé si tratabas de resolverlo o si ya lo habías hecho y lo que querías era solo saber por qué sucedía eso. En este último caso, lamentablemente no puedo decirte nada.
Saludos.