Thanks Jason.
I worked around this issue by not implementing ServiceMBean, and directly implementing start() and stop() instead of extending ServiceMBeanSupport.
I created a JIRA for supporting ServiceMBeans, since I think this would be a useful thing for others, even if I don't need it anymore.