Let's not forget it's not exactly Apple's fault that some developers remove their apps from the App Store. While it's annoying, and we can wish all we want that Apple would make apps permanently available once downloaded, it's really the developer of the app that has failed you, not Apple.
Apple introduced a change that make a developer removing their software from the market be more damaging than it used to.
Say that I buy a piece of software and receive either an installer download or some medium containing the software. The company removes it from the market. I can still perform new installs of their software.
I buy something from an app store. The developer removes it from said store, making it inaccessible for future installs. This developer did the same thing that the other one did, but I'm worse off. How is it more the fault of the developer than Apple/Google/Amazon/Microsoft/Valve/EA/etc? Who changed the way that software distribution works?
As far as I understand (but I have only distributed an OS X app outside the App store), the DRM is opt-in.
App store guidelines require that packages are sandboxed and signed. If you have a signed application, you can circumvent the signature check by disabling gatekeeper, removing the quarantine attribute, or control-clicking and choosing 'Open'.
The DRM mechanism is called 'receipt validation' and has to be enabled by the app developer:
I can sort of see why Apple provides this (to entice companies to publish in the app store), but a developed can decide to be customer-friendly and not check the receipt. So, I think it's fair to blame the developer, not Apple.
(Please correct me if I am wrong, as said, I never distributed an App Store app.)