Yeah, it does sound rather useful, although I can see that there would be pros and cons to both approaches. Most people who are looking to leverage the MetaROUTER image import feature are probably most interested in taking already-existing code and using it in a RouterOS environment in some way. Most existing code doesn't live in a bubble, and doesn't reinvent every conceivable wheel that it doesn't need to (an OS kernel, the ANSI C library, sockets/networking layers, and so forth), so (for example) they are written to use third-party code libraries, some of which might be pretty large themselves. If you are only going to be running one MetaROUTER instance, then making it as lean and as mean as possible makes a lot of sense. If you are going to be running multiple little isolated MetaROUTER instances, though, depending on what you are doing in each instance, that might potentially add up to a lot of duplicate code, both on disk as well as resident in memory. If all of your custom tasks share one MR instance, then those applets can also share code (shared libraries).
With your current "kernel", do you already implement the necessary hooks to access VIF interfaces that are presented to the guest, or is that one of your next steps?