(split needed, or not yet?)
message-list is useful, to me at least, for a very specific purpose: a long string a dialogue, uninterrupted by other events. Timing events is a simple matter of counting, and the way I use message-list, a "skip dialogue" feature would simply skip the entire block (I haven't tried to implement this feature yet, but I don't think it would require too much trickery).
About the program: a simple text script ought to do it. I would take a list of messages formatted as "NAME:AVI:SENDER:MESSAGE\n"
and return a list of messages "$Name: NAME \n$Team: -1 \n$MessageNew: XSTR("MESSAGE", -1) \n$end_multi_text \n+AVI Name: AVI\n\n"
and a list of events "$Formula: ( when\n\t( true )\n\t( send-message\n\t\t"SENDER"\n\t\t"High"\n\t\t"NAME"\n\t)\n)\n+Name: NAME msg\n+Repeat Count: 1\n+Interval: 1\n+Team: 0\n\n"
The priority in send-message may have to be tweaked afterwards, as well as the Team, Persona and Wave file of the message- and I would have to use something other than colons as delimiters in the input file- but that should cover most people's needs. I could also count up the number of messages so the user could change that in the mission file when inserting the events/messages.