Problem polega na tym, że dokładność wartości wyniku jest zbyt wysoka, aby przekonwertować na System.Decimal bez utraty danych. Nie pamiętam dokładnej liczby dozwolonych cyfr, ale jest to około 18. Czy dopuszczalne jest zaokrąglanie () wartości wyniku do tylu cyfr? W podanym przez Ciebie przykładzie round(MyColumn, 15)
lub tak powinno wystarczyć...