I ended up stumbling across this myself while exploring the IpcChannel documentation.
The problem with IpcChannel is that Windows Named Pipes do not work correctly under UAC when the client runs as a low-integrity process. Unfortunately as I am working on a plugin, and not a full app, plugin host's low-integrity means calling a bunch of Win32 APIs -- including some new ones specific to Vista -- and programmatically setting app token ACLs, which is something that I really don't want to do.
Luckily, several of the overloaded forms of RegisterChannel() allow you to specify options in an System.Collections.IDictionary Hashtable object, several of them having to do with security and handling remote connections. More info here:
http://msdn.microsoft.com/en-us/library/bb187434%28VS.85%29.aspx
I ended up reverting my code back to the TcpChannel implementation and changing a few things in the server, and it is working wonderfully. No sweat!
System.Collections.IDictionary sProperties = new System.Collections.Hashtable();
sProperties["port"] = SERVER_PORT;
sProperties["authorizedGroup"] = "INTERACTIVE";
sProperties["rejectRemoteRequests"] = true;
BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider();
TcpServerChannel channel = new TcpServerChannel(sProperties, serverProvider);
ChannelServices.RegisterChannel(channel, false);
Sorry to take away your answer but I stumbled on something that answers my question exactly.
tom