Wow, this is turning into a mess.
Anyway, for anyone wondering how I went, or how to do this themselves.
Heres what I have now in my plugin:
CODE
// In class definition
private SWFilter.SWFilterCls swf;
...
// in startup.
swf = (SWFilter.SWFilterCls) Host.ComFilter("SWFilter.SWFilterCls");
swf.OnScriptMsg += new SWFilter.__SWFilterCls_OnScriptMsgEventHandler(SWF_OnScriptMsg);
....
// event handler method
void SWF_OnScriptMsg(String msg)
{
base.Host.Actions.AddChatText("On Script Msg", 7);
swf.QueueMsgForScript("work now");
}
and heres what I have in my script (actually a VB com object):
CODE
'In register handlers sub
Call skapi.AddHandler(evidOnPluginMsg, Handler)
...
'In remove handlers sub
Call skapi.RemoveHandler(evidOnPluginMsg, Handler)
....
'On start of main routine
Call skapi.OutputLine("send msg to plugin")
Call skapi.QueueMsgForPlugin("Hullo Thar")
Call skapi.OutputLine("msg sent")
...
'In my handlers object
Public Sub OnPluginMsg(sMsg)
Call skapi.OutputLine("Msg Recieved")
End Sub
All working now

.