Add a field to to indicate that a PrdGrp or PartClass is no longer in use.
Minimally a boolean. Ideally an end date.
If the Inactive field is TRUE (or if the EndDate is > the current date), the PG or PC is not shown on entry screens where a user sets the entity. Like: Part, Quote, Order, Invoice, etc…
On the Invoice entry, allow it to be used if the original order specified it. But do not allow user to manually select it.