Obtenção do valor atual e anterior de um formulário

Criei um cadastro de apenas uma tabela, criei abas para organizar as informações e faço as validações no evento onValidate().

Na tela de alteração o scriptcase (SC) mostra os valores já gravados {taxa_de_entrada}=2 e {taxa_interna}=5.

A validação é a seguinte, {taxa_de_entrada} deve ser menor que {taxa_interna}.

Eu digito o valor 10 no campo {taxa_de_entrada} e sem teclar ENTER ou TAB, eu clico com o mouse no botão “SALVAR”, o SC valida correto e eu mostro os valores digitados na mensagem de erro para alertar o usuário. Para isso eu uso as macros sc_error_message() e sc_error_exit().

Após clicar em “Ok” na mensagem de erro, eu digito outro valor no campo {taxa_de_entrada} = 15, e sem teclar ENTER ou TAB clico novamente com o mouse no botão “SALVAR” e o SC valida correto, mas para a minha surpresa na mensagem de erro é mostrado o valor anterior do campo {taxa_de_entrada} = 10 !!

Pela segunda vez eu clico em “Ok” na mensagem de erro e na sequência teclo novamente no botão “SALVAR”, o SC valida correto e desta vez mostra o valor correto do campo {taxa_de_entrada}=15.

Esse erro, me parece ser alguma configuração que falta ou a forma que estou validando está errada, pois não uso os eventos onValidateSuccess() nem onvalidateFailure().

Para tentar resolver o problema usei no evento onValidate(), o array “nmgp_dados_form” para pegar os valores OLD e NEW dos campos digitados, mostro na tela com ECHO, o SC mostra os valores digitados corretamente, eu armazeno em variáveis locais $vlr1 = {taxa_de_entrada}->NEW e $vlr2 = {taxa_interna}->NEW, executo a validação, monto uma string e mostro para o usuário usando a macro sc_error_message() e mesmo assim, o SC apresenta o valor antigo do campo {taxa_de_entrada}, não dá pra entender !!

Apenas na segunda tentativa que fica correto a apresentação do valor digitado.
É como se o SC, ficasse “preso” ao evento de SALVAR e não executasse o evento onValidate().

Se alguém já passou por isso, me oriente.
Não está errado a validação, mas eu mostro o valor errado para o usuário e isso causa confusão.