Hola 
ricardo_tu 
en todos los inputs que están dentro tu bucle while, hay valores?
si es así, podrías imprimir con un simple echo los valores con los cuales acumulas el resultado final, seguramente así encuentres donde está el problema!  
EDITADO   Código PHP:
    $final = 0;
$resultado = "SELECT producto, SUM(kilos) as total_kilos FROM datos WHERE rut ='$rut' AND fecha ='$fecha' GROUP BY producto";  
$result = mysql_query($resultado) or die(mysql_error()); 
while($row = mysql_fetch_array($result)){ 
    echo "<input type='text' class='Estilo3' readonly='readonly' name='producto'   
            value='".$row['producto']. "'/> $ <input type='text' name='valor". ++$a."' class='Estilo2' />   
            <input type='text' class='Estilo3' readonly='readonly'   
            name='kilos' size='6' value='". $row['total_kilos '].  " KL'/>  <input   
            name='resultado' type='text' readonly='readonly' class='Estilo3' size='15'   
            value='$".$row['total_kilos ']* $_POST['valor'.++$b] ."' /></p>"; 
 // Aqui es donde imprimo por pantalla las variables antes de hacer la operacion a ver si veo donde esta el fallo
echo $final." - ".$row['total_kilos']."-".$_POST['valor'.++$b]."<br>";
$final = $final + ($row['total_kilos']* $_POST['valor'.++$b]);    
}
echo $final; 
    
  Saludos