O Mono só pode executar aplicativos .NET. Aplicativos C ++ são geralmente compilados em código nativo (x86) para Windows.
O código do Windows pode, às vezes, ser executado no Linux usando o Wine, o burbthis só funciona se a arquitetura para a qual o programa foi compilado for a mesma que a que o Linux executa. Como o Raspberry Pi tem um processador ARM, o Wine não é uma opção aqui.
O Mono não tem essa limitação porque os aplicativos .NET não são compilados para o código nativo, mas para o bytecode para uso com o .NET framework (como o Java faz). Isso significa que o código .NET pode ser executado em quase qualquer arquitetura de processador porque o código de byte não depende do processador.
É por isso que o Mono só pode executar o código .NET. Se o Mono não pode executar o seu programa, isso acontece porque ele não foi compilado para o código .NET (ou você usou uma biblioteca que não está implementada no Mono, mas é muito improvável nesse cenário).