Changes look good overall, but theres a some bits I think could be improved:
In ServerConnectionDelegate.sessionAttach, the clientId (sessionName, rather?) variable can never be null so the check is redundant.Also, in the new 'isSessionNameUnique' method, we can probably be mroe efficient than iterating over every Session in the broker and comparing ClientIDs. Each Connection object has a Map of session names to their Session, so it should be possible to just ask query connection whether it has a Session with a given name, with the 0-8/9/9-1 connections simply returning false since they dont support that.
In AMQConnectionDelegate / AMQConnection, it seems like it would be better to use a boolean for the result normally and rethrow any unexpected exceptions, rather than detecting whether or not there is a linked exception set to distinguish between two JMSExceptions.
Finally, in ConnectionTest you could use the setTestSystemProperty() method from QpidTestCase method to update and revert the 'qpid.verify_client_id' property (which should probably be a constant; there should be one in ClientProperties, but if there isnt it needs added).