@typo
To make a long debugging story short, the line:
SpSharedRecoContext1.EventInterests := SREAllEvents;
fails, because the following procedure:
ConnectEvents(const Obj: IUnknown);
is not implemented in OleServer.pp(line 160).
It should be something like this:
procedure TOleServer.ConnectEvents(const Obj: IUnknown);
begin
ComObj.InterfaceConnect(Obj, FServerData^.EventIID, FEventDispatch, FEventsConnection);
end;