por lo que pude leer, al parecer no estas ubicando el producto correctamente....
Yo particularmente hago las actualizaciones de Stock en una tabla cuando se cierra el mes, puesto que dentro del mes pueden hacerse modificaciones, reingresos, eliminaciones, altas, bajas de productos, documentos, etc, lo cual hace que el stock se encuentre en total movimiento
si quiero calcular el stock hago lo siguiente
busaco el dato del saldo anterior (en una tabla)
luego reviso los movimientos del mes (o periodo)
sumo y resto en una tabla temporal para mostarlo....
y listo
OJO solo son ideas... la tuya tambien puede ser muy buena...