Hi,
The issue comes from your template.
It has some javascript code which automatically generate "responsive" display for tables:
monosnap.com/file/eopXz8tOKzjEYPd317FkQe4JI4YYxz
It does that by duplicating the content in the table into dl/dt/dd tags instead of table/tr/td tags.
Because of that, the quantity input fields are duplicated too.
Then, when you modify the quantity in the input field and save the cart, you only changed the first input, but both input are sent to the server:
monosnap.com/file/IKtfHPGveHfSqmfQ7H9ErntOHc2zMJ
And in such case, PHP overwrite the first input value with the second one and thus the information you entered in the input is lost.
This apparently comes from this code:
monosnap.com/file/tmleevRv6x0AE4OwTsfOwNWOXT8TAB
Note that HikaShop tables don't need such javascript to be responsive. We have our own system to have the tables responsive.
Looking at the javascript code from your template, you could try adding the class "kblocktable" to the "table" tag in the file "show" of the view "cart" via the menu Display>Views. That should prevent the template from doing this.
However, you'll have similar issue with tables on the checkout, and other places of the frontend where HikaShop use tables.
So it might be better to actually remove the javascript from the /templates/theme3449/js/scripts.js file.
The best I think would be to report the issue to your template provider and see what they propose as a solution knowing all that I've written above.