Hi Satish
Did you try to check if there is any change in the quantity field before and after activation, basically is there any inconsistencies between New, Change Log and Active table.
As you have already debugged, there should be no issue with the routine, I believe.
You have also tried selective deletion and reloaded which gave you the expected result. So there should be something wrong with the way the data gets activated.
Do you have summation for the quantity field in rule type?
Regards
Karthik