It looks like Script.scriptEnding will trigger once when reloaded but after that it will no longer fire.

Try to reload this multiple times and it will only print once.
function scriptStopped()
{
print(“script stopped”);
}
Script.scriptEnding.connect(scriptStopped);

Furthermore, if you try to stop a script that runs another copy of itself upon stopping, it crashes interface when you try to stop it. It will also spawn multiple versions of itself when you reload all.