If your report on the jrun behavior is really correct, I think you can demonstrate that it is not spec compliant and won't (always) work by writing an adapter that requires some information in the ConnectionRequestInfo object in order to create the managed connection. This is supplied by the ConnectionFactory object when it calls allocateConnection on the connectionmanager, so there's no way for jrun to guess what you might supply.
I imagine they are trying to pre-cache a connection so you won't have to wait when you ask for it, but I don't see how it can always work. What I did is, when you specify a pool minSize >0, is wait till you ask for one connection (so the ConnectionManager knows what security info you are providing), and then make minSIze connections using that info.
OK, that makes sense. Thanks for the insight into how JBoss handles establishing connections. I had suspected that JRun4 was operating somewhat outside the specs.