De acordo com este (corrigido em 21 de janeiro de 2011 05:46:23 UTC) , no driver oficial c# foi adicionada a habilidade 'AllowTruncation'. Então você precisa baixar a versão mais recente do driver e divirta-se! Além disso, em vez de SetRepresentation, você pode usar BsonRepresentationAttribute assim:
public class C {
[BsonRepresentation(BsonType.Double, AllowTruncation=true)]
public decimal D;
}