I beleive the current methodology of not allowing modified data to be created, is a deliberate act rather than just what happened. If a script is allowed to make changes to what essentially is not data from the real source , then how can the next script be expected to process that info in a reliable method.
ex of your way...
Script1 highlights your nick said by anyone else in a rainbow of colors & like this [N][l][C][K]
Script2 kicks anyone out who uses color hes kicked becuase you colored it
Script3 logs all input from channels to a file its logged in color and [ ]'s
Script4 places all text said with your nick in into a seperate window this fails becuase nick != [N][l][C][K]

As for scripts not knowing somethings already dealt with this event, well thats just scriptors ignorance in not knwoing of the $halted identifier.

To maintain compatability between existing scripts and wanting to have new scripts that could have the ability to alter the original contents I would suggest a new command and identifier
/ALTPRAM & $ALTPRAM
/ALTPRAM works the same as RETURN works in that the script exits, however it loads $ALTPRAM with what ever you want the new parameters to be.
Any following scripts can compare $1- to $ALTPRAM, and deal with them as they wish, the final default handler can be set in options to use either $1- or $ALTPRAM as its parameters.

There may be a few fiddly bits still to work out with that, but i wouldnt see any large problems, all existing scripts well just chug along using $1-, new ones can do what they need to.