Wouldn't writing an interpreter for each platform be less work and achieve the same goal as writing a VM for each platform?
Edit: ^Aside from being able to execute the bytecode on any platform
Edit: ^Aside from being able to execute the bytecode on any platform