I'm confused. Are you talking about source compatibility or binary
compatibility? I think working on source compatibility makes a lot
of sense. (This includes not just Scheme code, but also a common
C API.)
However, binary compatibility seems impractical. Scheme implementations
use very different object representations. This is fundamental:
You can't call RScheme-compiled functions from SCM or vice-versa
unless they have the same object representation and layout.
There are other problems, such as incompatible calling conventions,
evaluations mechanism, stack usage conventions, and GC; those could
perhaps be dealt with with suitable glue code, though it would be a
lot of pain.
--Per