When you are resetting Cost and Prices this updates all the fields at once and as such it also resets discounts back to 0%. It would be helpful to keep the levels of discounts previously applied whilst resetting the other fields.