MetaJS has some open issues - some related to the fact that it's intended to let you step through code, which I think makes certain interop scenarios difficult (let's say for example native code calls MetaJS code and expects a return value - it's not possible to set a MetaJS breakpoint there because the native runtime isn't paused).
I would be curious to know how MetaES fares under something like test262. I think a metacircular interpreter that does well in an extensive suite like that could indeed be a proper, "safe alternative to eval" (as suggested by another commenter).