i was sleepy when i postwesd that but it still stands:

rather than control structures some form of header/etc; and rather than mIRC script accomplishing things have the scripting engie do it.

that way if a command changes its behavior you can use the command from version 5.91 if it does what you need it to do.

you could have an engine that parses the entire script file and picks up syntax errors, commands that are unknown, etc.

go read up of javascript's versioning for a better idea of what i mean