Isn't the matching only useful in scenarios where the same pool stores 'different' DB connections (differnet username/pswd) ?
I suspect that jboss 7 'blocks' (in synchronised calls) a lot more than jboss 5 did during pooling. The 'matchManagedConnections' is one occurence. Another one is org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool#getConnection.
Anyway, i'll try do some more testing/measuring tomorrow.