Я ничего не могу сказать о IronRuby, но большинство реализаций Python (таких как IronPython, Jython и PyPy) стараются быть максимально верными реализации CPython. IronPython быстро становится одним из лучших в этом отношении, и на Planet Python много трафика по этому поводу.
Главное, что побудит разработчиков писать код, отличный от написанного на CPython, - это отсутствие модулей расширения C, таких как NumPy (это проблема и в Jython и PyPy).
Интересным проектом, на который стоит обратить внимание, является IronClad, который позволит вам вызывать модули расширения C изнутри IronPython. В конечном итоге это должно означать, что вы можете разрабатывать код под CPython, используя любые модули, которые вам нравятся, и он будет работать без изменений на IronPython.
http://www.resolversystems.com/documentation/index.php/Ironclad
Итак, чтобы ответить на ваши вопросы:
Должно быть достаточно просто написать приложения IronPython, которые также работают на CPython, но я бы, вероятно, стремился пойти другим путем: программы CPython, которые также работают на IronPython. Таким образом, если это не сработает, то, скорее всего, это будет известная ошибка с известным обходным путем.
Преимущество IronPython и других , существующих , заключается в том, что они предоставляют альтернативные реализации языка, которые иногда полезны для выявления ошибок в CPython. Они также предоставляют альтернативные методы для развертывания ваших приложений Python, если по какой-то причине вы попали в ситуацию (например, silverlight), когда распространение реализации CPython с вашим приложением не подходит.