Според този бъг (поправено на 21 януари 2011 г. 05:46:23 ч. UTC) , в официалния драйвер на c# беше добавена възможност "AllowTruncation". Така че трябва да изтеглите най-новата версия на драйвера и да се наслаждавате! Освен това вместо SetRepresentation можете да използвате BsonRepresentationAttribute по този начин:
public class C {
[BsonRepresentation(BsonType.Double, AllowTruncation=true)]
public decimal D;
}