Al final soluciones con la funcion Cdbl rsTemp.Fields(2) = CDbl(txtPrecio) y reemplazar el decimal sea punto o coma y darle formato como me dijieron en respuestas anteriores.
With MSHFlexgrid1
For i = 1 To .Rows - 1
'.Col = 5
.Row = i
If ObtenerDecimal(LOCALE_SDECIMAL) = "," Then
.TextMatrix(i, 2) = Format(Replace(.TextMatrix(i, 2), ".", ","), "Fixed")
Else
.TextMatrix(i, 2) = Format(Replace(.TextMatrix(i, 2), ",", "."), "Fixed")
End If
Next i
End With
Por ultimo me recomendaron el listview y me animare para utilizarlo, saludos y gracias.