So, I did a diff on the two versions and found differences in 16 files, and installed it.
Result: problem is still there. However I just noticed, while testing, that the problem has nothing to do with price thresholds. It actually happens all the time.
So I took the time to debug it a bit more and I finally found why this is happening.
In /components/com_hikashop/controllers/checkout.php around line 280 you do:
if(isset($_REQUEST['previous'])){
In case of misbehavior, the "previous" request-parameter is set, and hikashop never gets to call
$this->before_shipping(true);
which is located on line 338. And this is the problem why the shipping object disappears when quantities are changed in the mainbody view.
I have not thought about a solution yet, as I don't know all the complexity of your component, but I'll try some things.
Best regards,
Frank