as i'm facing the same problem, here some more informations:
Deploying of multiple MailService-mbeans seems working fine: twiddle.sh or the jmx-console shows the right values in the respective MailServices.
The problem occurs during runtime, when one obtains a javax.mail.Session from the JNDI-Context. Now, this Session always is initialized with the values of the last mailservice deployed, regardless of which jndi-name is used to retrieve this mailsession.
This error could be related to https://jira.jboss.org/jira/browse/JBAS-5896, as there is a "sharedSession" mentioned. In my opinion, it should not matter if this sharedSession is enabled or disabled by default, as we should have one sharedSession _per registered mbean_ (i do not know if the sharedSession mentioned in the bug report is one per server, or one per mail-mbean. One per server would be only useful if you never will use more than one different mailservice.
I filed a jboss bug report, https://jira.jboss.org/jira/browse/JBAS-6923.
Example to reproduce:
See post from leonardomadrigal.
Deploy two or more mailservices. For the sake of this example, deploy them each as individual files.
Run his example application.
Touch one of the deployed mailservices.
Run the example application again. You always will see the properties of the last (just touched) mail-service.
Workaround: none known yet.