I have found that with many virtual machines, native programs are needed for development. What I am looking for is a VM that both cooperates with its host OS well enough to manage its own windows, buffer to the audio card, and take user input (standard libraries), can translate C/C++ source libraries to its own language, isn't locked into ugly Java-like languages (supports a form of BASIC), and includes development tools (bytecode compiler, text editor) implemented in its own system.
The structure I have in mind is something like this:
At the lowest level, the VM. It is coded in C, C++ or maybe Pascal for compatibility with a wide range of parent platforms. The VM itself statically links with the necessary glue to provide cross-platform "fun" features for its standard libraries to reference, much like how the C standard headers reference the C standard runtime, but with much higher-level functionality. (No need to use GLUT for OpenGL, no need to use Qt for GUIs, no need to use a 3rd-party socket library for networking.)
One level up, the VM's standard software. This should include only programs implemented in VM bytecode. That includes the VM's standard system libraries, with support for OpenGL, OpenAL, a networking library, an input library, and pretty much anything else that requires the VM to talk to the hardware or do "computationally expensive tasks" AKA "things that most people don't feel like programming". At the very least, a compiler from some language to VM bytecode must be included to prove that it is possible. A compiler from C or C++ to VM bytecode would be ideal.