Я не знаю ответа на ваш первый вопрос (я не использую Mono - извините), но я могу ответить на ваш общий вопрос.
IronClad - это адаптер, который позволяет существующим модулям расширения CPython, написанным на основе API-интерфейса CPython, беспрепятственно работать на IronPython. Ctypes, с другой стороны, является FFI ( Интерфейс внешних функций ), который позволяет коду Python вызывать собственный код независимым от платформы способом.
До появления ctypes единственным способом доступа к нативному коду из Python было написание расширения CPython, которое было тесно связано с CPython; ctypes удаляет эту связь и позволяет ей работать с любой реализацией Python, которая реализует ctypes. IronClad существует, чтобы позволить всем прежним расширениям продолжать работать на IronPython. Для новых вещей, однако, ctypes - путь.