JODER TIO... ERES UN CRACK...!!!!!
 
FUNCIONA DE PM...!!!!! 
Era mas sencillo de lo que pensé.... y yo complicandome con mil funciones... algún día me meteré a un curso avanzado de javascript y no estaré dando la coña tanto, jajajaja, ya que también me gustatia aprender AJAX, pero eso ya son ligas mayores. 
Bueno, al final le meti un par de retoques y que me funcionara pa lo que necesito:  
Código:
 function sumar(frm) {
  ho = frm.sumhoras.value;
  ph = frm.preciohora.value;
  de = frm.descparte.value;
  if (ho=='' || isNaN(ho)) ho = 0;
  if (ph=='' || isNaN(ph)) ph = 0;
  if (de=='' || isNaN(de)) de = 0;
  ho = parseFloat(ho);
  ph = parseFloat(ph);
  de = parseFloat(de);  
  frm.totalparte.value = (ho * ph) - (ho * ph * de / 100);
}
  MUCHAS GRACIAS 
Saludos 
Carlos... 
PD: ahora dentro de un rato planteo otro problemilla que me ha surgido...jejeje