Al realizar operaciones con mysql debes de tener en cuenta que cualquier campo null haria que toda tu operacion se volviera NULL para eso necesitas especificar el IFNULL y con eso se corrije el problema
Código:
select sum((IFNULL(det_compras.cantidad,0) + IFNULL(det_nota.cantidad,0)) - IFNULL(det_venta.cantidad,0) - IFNULL(det_devoluciones.cantidad,0))
from det_compras
left join det_devoluciones on det_devoluciones.codpro = det_compras.codpro
left join det_venta on det_venta.codpro = det_compras.codpro
left join det_nota on det_nota.codpro = det_compras.codpro
where det_compras.codpro = 1
Asi ya te debera regresar el resultado que deseas...
saludos...!!!