Zgodnie z tym błędem (naprawiono 21 stycznia 2011 05:46:23 UTC) , w oficjalnym sterowniku c# dodano możliwość 'AllowTruncation'. Więc musisz pobrać najnowszą wersję sterownika i cieszyć się! Również zamiast SetRepresentation możesz użyć BsonRepresentationAttribute w ten sposób:
public class C {
[BsonRepresentation(BsonType.Double, AllowTruncation=true)]
public decimal D;
}