Yeah, no: Ran the same test as you did and the outer viewer is not reacting to anything being sent by the client app.
If anyone is still interested, the trouble is that the form's ApplicationIdle() routine is never being executed, and this is where the simpleIPCServer.Peek(1,true) is tested.If you drop a timer on the window that calls ApplicationIdle() every 100 ms or so, it starts to pick up the incoming messages, albeit slowly.
I'm running L 1.8.4, but it behaved as you said until forcing the execution of the Peek() routine.
There doesn't seem to be any online docs for ApplicationIdle. Delphi pages say setting Done to false should make it work as expected, but no effect in Lazarus. here is my patch
procedure TfrmMain.ApplicationIdle(Sender: TObject; var Done: Boolean);
var
B : boolean;
begin
B := true;
repeat
B := FIPCServer.PeekMessage(1,True);
until not B;
Done := false;
end;
Cheers!