When the order item is not delivered and is not expected to be delivered - can't you simply use a rejection reason with statistical values <> ' ' instead of deleting the item?
The users may need different reasons for reporting purposes - rejected by the customer and not delivered by the supplier.