«FIPS-совместимый» - это неправильный термин - вы говорите о FIPS-сертифицированных. Разница состоит в том, что если алгоритм должен быть совместим с эталонной реализацией и сторонними реализациями, то он должен быть совместимым с соответствующим FIPS, который описывает этот алгоритм. Но сертификация - это отдельная история.
Классы CryptoServiceProvider вызывают CryptoAPI (неуправляемый API Windows) для выполнения реальных операций шифрования, а некоторые модули CryptoAPI сертифицированы FIPS (для деловых целей). Очевидно, не было достаточных причин для сертификации управляемых классов .NET - если вам нужны сертифицированные модули, используйте CryptoAPI. Сертификация требует много времени, усилий и значительных денег.
Также я полагаю, что могут быть технические причины, препятствующие сертификации управляемых модулей, но это только предположение. Может случиться, что природа .NET (IL и виртуальная машина) противоречит некоторым требованиям, определенным для процесса сертификации, то есть они просто не могут быть сертифицированы.
Что касается ваших собственных классов обертки - существует несколько компаний, которые сами проводят обучение и сертификацию персонала. Они также предлагают консультационные услуги. Я надеюсь, что кто-то из таких служб ответит здесь, но вы также можете связаться с ними, если вам нужно.