This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I may be being dumb here, but could you not just have the "orb" and the "real server" implement the same interface(s). The "client " then contacts the "orb" as if it is a server, and the "orb" in turn then dispatches the rpc to the appropriate "real server". We use that pattern here. We actually use DCE in C++ rather than RMI in Java, but the principle is the same.