Então é só retirar os pontos existentes antes de substituir virgulas por pontos. Tenta desta forma… Espero que esteja entendendo o que está sendo feito:
VALOR “REPLACE(REPLACE(:VALOR,’.’,”),’,’,’.’)”,
DESCONTO “REPLACE(REPLACE(:DESCONTO,’.’,”),’,’,’.’)”,