In emacs 23, mode-name is no longer guaranteed to be a string
according to the emacs news(http://www.gnu.org/software/emacs/NEWS.23.1).
For example, html-mode is defined in sgml-mode.el as follows.
(define-derived-mode html-mode sgml-mode '(sgml-xml-mode "XHTML" "HTML")
But (mmm-format-string) is designed on the assumption that mode-name is a string.
This causes submode name is not...