Hi,
How about using the event onBeforeOrderCreate ?
You can set $do to false to cancel the order creation and prevent the user from finishing the checkout.
That way, the user has access to the whole checkout functions.
Also, if you're using onCheckoutStepDisplay to display stuff in the checkout, and you're using onAfterCheckoutStep to do your check, then yes, the operations in the views below in the current step of the checkout will be cancelled.
You could change your checkout workflow to have the cart view in a step before the step with the age verification view. That way, the user could go back a step to change his cart.
Another option would be to display the cart on the side with the HikaShop cart module, not with the cart view.