I can't say that I'm an expert here, but surely the reason the PC can still run Windows even if VARPC crashes is because Windows is the OS for the PC and RISC OS the OS for the _virtual machine_ provided by VARPC? Isn't it really like two computers on one machine, one hardware and one virtual?
As to Java, isn't the VM it uses more emulating some kind of processor than a full OS - there's no GUI or filesystem or anything in the VM is there, isn't it all provided by the host OS? Not everything that runs on a VM is an OS, granted, but in this case the program running on VARPC's emulated RiscPC processor happens to be RISC OS, which is an OS. It seems to make sense to me, anyway