HMACSHA256 would be preferred, but SHA1CryptoServiceProvider is also FIPS compliant, so that would work as well. I've verified that both of those work on a system with FIPS compliance enabled.
Here is the stack trace for your reference.
InnerException: System.Reflection.TargetInvocationException
Message=Exception has been thrown by the target of an invocation.
Source=mscorlib
StackTrace:
at System.RuntimeMethodHandle._InvokeConstructor(IRuntimeMethodInfo method, Object[] args, SignatureStruct& signature, RuntimeType declaringType)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Security.Cryptography.CryptoConfig.CreateFromName(String name, Object[] args)
at System.Security.Cryptography.MD5.Create(String algName)
at MongoDB.Bson.ObjectId.GetMachineHash() in C:\work\10gen\mongodb\mongo-csharp-driver\Bson\ObjectModel\ObjectId.cs:line 330
at MongoDB.Bson.ObjectId..cctor() in C:\work\10gen\mongodb\mongo-csharp-driver\Bson\ObjectModel\ObjectId.cs:line 49
InnerException: System.InvalidOperationException
Message=This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
Source=mscorlib
StackTrace:
at System.Security.Cryptography.MD5CryptoServiceProvider..ctor()