Mono может запускать только приложения .NET. Приложения C++ обычно компилируются в собственный (x86) код для Windows.
Код Windows иногда может быть запущен в Linux с использованием Wine, burbthis работает только в том случае, если архитектура, для которой была скомпилирована программа, совпадает с архитектурой, на которой работает Linux. Поскольку Raspberry Pi имеет процессор ARM, Wine здесь не вариант.
Mono не имеет этого ограничения, потому что приложения .NET компилируются не в собственный код, а в байт-код для использования с платформой .NET (как в Java). Это означает, что .NET-код может работать практически на любой процессорной архитектуре, поскольку байт-код не зависит от процессора.
Вот почему Mono может запускать только код .NET. Если Mono не может выполнить вашу программу, это потому, что она не была скомпилирована в код .NET (или вы использовали библиотеку, которая не реализована в Mono, но это очень маловероятно в этом сценарии).