The change made to $submenu() in mIRC v6.1 will actually be undone in the next version, since it seems to have caused under-evaluation in scripts that used to work.

Also, this may just be an issue with $eval(), not $submenu(), since if you don't use $eval() it all works fine.

There are too many combinations of possible evaluations going on when using $submenu(), /return, $eval(), etc, so I can't see a solution to this right now.