El problema es que la precisión del valor del resultado es demasiado alta para convertirlo a System.Decimal sin pérdida de datos. Olvidé el número exacto de dígitos permitidos, pero son alrededor de 18 o menos. ¿Es aceptable redondear () el valor del resultado a tantos dígitos? En el ejemplo que diste, un round(MyColumn, 15)
más o menos debería ser suficiente...