I've done some reading, and it seems that there have been several attempts by new twisted users to get Perspective Broker to function more like Corba or DCOM. Despite having read http://twistedmatrix.com/pipermail/twisted-python/2007-April/thread.html#151... on why this does not work, I have had a go and have got something that seems to work well, at least for my test case.
Server side it is pretty standard. Client side I run the twisted reactor in a separate (non-main) thread, and use threading.Event() objects placed into a 'pass through' callback to emulate blocking until the required deferred has its result.
I have attached a simple server and client, with callback functionality illustrated.
I have not really looked into the thread safety issues yet, but have been looking into reactor.callFromThread and whether it is required here.
If the entire approach is inherently broken for some reason, I'd like to know so I can look at alternatives.