OADate представляется в виде двойного значения, значением которого является количество дней с полуночи 30 декабря 1899 года (отрицательные значения, представляющие более ранние даты).
Это исключение выдается при попытке преобразовать значение, находящееся за пределами действительного диапазона дат Ole Automation, в / из значения .NET DateTime (методы DateTime.FromOADate и DateTime.ToOADate - которые также неявно используются для взаимодействия COM) .
Я считаю допустимым для преобразования в OADate значение .NET DateTime должно быть строго больше 01/01/0100.
Чтобы преобразовать OADate в значение .NET DateTime, двойное значение должно быть строго больше -657435 (= 01/01/0100) и строго меньше 2958466,0 (01/01/10000).