I looked into it some more. It seems that the same happens whenever you add a new item from catalogue level with uc1:CartItemSelector. So I suppose ShoppingCartItemInfoProvider.UpdateShoppingCartItemUnits function is deleting the line and re-insert it with new qty using the same method as uc1:CartItemSelector. The question is now - why the shopping basket line creation would delete the shipping details?