muchachos lo solucioné. y lo pongo por si alguien tenia el mismo problema que yo!
en el onclick del boton: reemplace this.form.submit por validaDatos()
y en la funcion validaDatos() en vez de retornar true o false, lo que hice fue que si retornaba false reemplaze el "return(false);" por:
document.frm.boton.disabled = false; ... osea volvi a habilitar el boton
document.frm.boton.value = "calcula" ; ... devolvi el nombre original al boton
y si retornaba true (en el caso que todas las validaciones fueran correctas)
reemplace el "return(true);" por "document.frm.submit();"
y listo!!!!
Saludos a todos