Lo primer que observo es que tiene 5 funciones de multiplicar (y deshabilitar) y todos llamados iguales. ¿Como sabe tu codigo cual llamar? Veo que lo colocaste cada uno debajo de uno de lo seleciones pero esto no haces nada para tu codigo.
El no va a ejecutar el que quede mas cerca, los funciones no trabajan asi. Puedes colocarlo donde sea en tu codigo y por lo general llamarlo de donde quiera. Lo que esta pasando es que el navegador esta leyendo todo los funciones de multiplicar pero el que se queda en memoria es el ultimo que leyo con el mismo nombre.
El de desabilitar funciona porque le pasas el valor del select que hay que desabilitar pero el de multiplicar no es asi y esta escrita para trabajar con uno de los opciones (el ultimo en este caso).
Los funciones estan hechos para eliminar codigo redundante osea si tienes varios lugares donde tienes que multiplicar algo en vez de escribir el codigo de multiplicacion 20 veces. Escribes un funcion que puedes llamar las veces necesarias.
Sugiero que colocas solo un funcion de deshabilitar y solo uno de multiplicar. Al de multiplicacion le pasas lo valores pertinentes (en este caso puedes pasar los id).
Código:
function multiplica(id,id2){
var precio = document.getElementById(id);
var multiplicador = parseInt(document.getElementById(id2).value, 10);
document.f1.total.value = multiplicador*parseInt(precio.value, 10);
}