I finally found the problem. The key was the exception was happening from the JCAPoolFiller. It turns out that in my embedded-jboss-beans.xml file, where I defined my MySQL datasource, I specified a minimum pool size of one.
I needed to change the minimum pool size to zero, to allow the microcontainer to exit cleanly.
We should probably handle this condition in the PoolFiller...
File a JIRA task if you don't mind.