
I'm posting this for future hapless n00bs like myself who find this thread while trying to grok perspective broker.
It seems to me that the right way to fix this issue with being able to pass Cacheable and Viewable instances as arguments to mind.callRemote methods would be to "attach" a perspective to that mind, possibly during login (with a means for doing in manually as well).
By looking around in the source code and doing more experiments I have figured out that you can just do this mind.perspective = thePerspectiveIWantToAssociateWithThisMind All subsequent serializations of Viewables and Cacheables work exactly as they should. This seems like a totally reasonable and simple way to fix the issue presented at the start of this thread. Interestingly, this isn't explained in the howto, and seems to have been forgotten by the developers (or this is a bad solution for reasons I don't understand). When the website is working again I'll file a documentation ticket (and fix it).