I agree that OFFSCRPT is a huge source of conflict, but the problem is that, like qwerty said, it's far too late to implement a standard. The reason I say this is because there are quite a few apps that use OFFSCRPT that haven't been touched in several years. We could adapt this new technique of OFFSCRPT cooperation and then the old program would just destroy it.
;VVVVVVVV see edit
The ambitious way to fix this problem would be to make an app that handles this huge mess. What you would do is run a program, let it make its OFFSCRPT, then have the OffScrpt app save that OFFSCRPT into its database. This would continue until the app has a copy of all of the OFFSCRPTs you want to run. Then you go into the app, set priorities on the different OFFSCRPTs and let it run.
The tricky part with this app though would be making it run when shutting down. I believe it can be done through a appChangeHook, but I'm not positive. I think a better solution would be to patch the code that calls OFFSCRPT and instead have it call the app. (Or this app could make an OFFSCRPT
The less ambitious way to somewhat fix this problem is to only use an OFFSCRPT when you absolutely have to. This means don't destroy OFFSCRPT if you aren't using it. (Not even going to say it)
That won't work. I forgot how OFFSCRPTs work. OFFSCRPTs are exactly what they sound like, off scripts. This means they only get run when you turn the calculator off. In order to run when the calculator turns back on, I would assume that nearly every OFFSCRPT sets a getCSC hook so that as soon as the calculator turns back on, the main app gets run.
In short, only the last OFFSCRPT would appear to get run.
This also means that standardization of OFFSCRPTs is fundamentally impossible. (Or just really really ugly, glitchy, and hacky)