Erro de estouro aritmético ao converter expressão em tipo de dados datetime
Descobriu que o problema era quando uma data era definida como 9999-12-31, provavelmente muito grande para o decimal manipular. Mudou de decimal para float, e tudo está funcionando como um encanto.