As I said imo it would be better to have it blocked, when the order is shipped. When you generated the shipping label, the products are still in your hands. In this time a lot can happen (customer calls, sends email and so on). It's a typical thing, that a dev doesn't expect, but in practice it happens a lot.