NativeCompilerとWriteOnceRunAnywhereは両立するだろう。
CompileOnceRunAnywhereじゃだめだけど。
C#のJITコンパイラもネイティヴコードを吐いてるって知ってた?