Il problema è che la precisione del valore del risultato è troppo alta per essere convertita in un System.Decimal senza alcuna perdita di dati. Dimentico il numero esatto di cifre consentite, ma è circa 18 o giù di lì. È accettabile arrotondare() il valore del risultato a tante cifre? Nell'esempio che hai fornito, un round(MyColumn, 15)
o così dovrebbe essere sufficiente...