«Двоичная совместимость» - это термин VB6, он имел отношение к созданию COM-библиотеки DLL, в которой для интерфейсов и классов использовались одни и те же Руководства, чтобы вы могли обновить существующую DLL-библиотеку, не опасаясь, что ваше обновление нарушит существующую программу.Правила для кода .NET совершенно разные, джиттер очень помогает.
Также не очень важен параметр целевой платформы для проекта DLL.Имеет значение только настройка в проекте EXE, она определяет разрядность процесса.Вы могли бы рассмотреть вопрос о принудительном использовании вашей DLL для x86, если она зависит от устаревшего 32-битного кода.Это ускорит аварийное завершение программы в исключении BadImageFormatException вместо получения неясного исключения COM.