Email Customer if Order Contains a Disabled Product
You can probably rig this up via Rules to automatically send the notification when the class is disabled, but I think it would be easier and probably better to separate out the disabling of the class and the notification of users. I'm not typically a fan of automatic side effects on entity updates - just imagine what would happen if that product somehow got re-enabled and you had to disable it a second time.

I'd create a line item View using Views Bulk Operations with an exposed filter that let me choose what product SKU to use to filter the results. You can do that either based on the line item's label value (since it initializes to the product SKU) or add a relationship to the referenced product if you've altered those labels somehow. You'll also want to add a relationship to the line item's order so you can filter it by orders in a certain status.

You can then use VBO to call a custom rules component that takes the line items from the View as arguments and then sends a notification out to everyone in the list. You may need to figure out either a Views query based method or a Rules variable based method to prevent sending the notification multiple times to the same user in the event that the account purchased the product more than once.