I cannot see addding a completely new scripting language to mIRC, I agree on that point, but I can see adding hooks too allow you to add your own.
Making the mIRC scripting engine itself modular wouldn't be difficult (depending on the design of mIRC) and allowing users to disable/enable this module along with adding hooks to add new modules to act as the handler for mIRC aliases, popups, and events would be a trivial process. (again, depending on how mIRC is designed), but assuming that since it has COM and DLL support this intergration wouldn't be difficult at all.
[ mIRC ]
| "message flow"
`-----> msg_handler(MSG);
off |---> m_mIRC(); "mIRC Script: default"
on |---> m_Perl(); "handles the message"
off |---> m_Python();
Or you could even just provide a event() hook that is available to access when ever a possible event is triggered, this would allow users to create their own make shift handlers via DLLs by catching the event and passing it to a perl or python script that would handle it then passing the result back to mIRC through the DLL, with the current design of the DLL system this would be awkward (and slower than a local mIRC script), but would work.
It really isn't that mIRC doesn't provide what is needed (though built in types without having to write 50 lines for one would be nice) it is just some people do not like mIRC syntax, but love the mIRC interface. Also some people don't want to have to learn a new scripting language (I know I didn't, but forced myself to), but if able to plug in a handler for the language of preference wouldn't have to.