Selon ce bogue (fixé le 21 janvier 2011 à 05:46:23 UTC) , dans le pilote officiel c# a été ajoutée la capacité 'AllowTruncation'. Vous devez donc télécharger la dernière version du pilote et profiter ! Aussi, au lieu de SetRepresentation, vous pouvez utiliser BsonRepresentationAttribute comme ceci :
public class C {
[BsonRepresentation(BsonType.Double, AllowTruncation=true)]
public decimal D;
}