Во-первых, я прошу прощения за размещение этого в качестве ответа; это просто слишком громоздко для комментария.
У вас нет источника для CRC.Dll?
Глядя на это, он выглядит как другой файл на основе Delphi, который опирается как минимум на Kernel32.dll; кроме того, что я не могу сказать на этом Mac.
Наблюдение состоит в том, что это различие может быть связано с различиями Unicode между Delphi и .Net.
Если вы портируете это на .Net, есть ли какая-то причина, по которой вы не можете просто заменить этот CRC известным хорошим решением или вам нужно сохранить некоторую обратную совместимость?
Если так; Вы не можете использовать общий код CRC в .Net и выполнить пакетное обновление устаревших компонентов?
Если нет; тогда, возможно, ответ заключается в том, чтобы избавиться от этого сделанного на заказ генератора CRC и использовать то, что подтверждает ваши ожидания и обеспечивает повторяемые точные результаты.