Heb wat gegraven, volgens enkele andere opmerkingen - zoals je zegt, als het element niet bestaat, werkt het, maar als het nul is, werkt het niet. Blijkbaar is dit zo ontworpen.
Een suggestie was om de BsonIgnoreIfNull attribuut aan arrays, wat betekent dat uw AddToSet dan zal werken.