If you check DBNULL, converting SQL Datetime to .NET DateTime should not be a problem. However, you may encounter problems converting a .NET DateTime to a valid SQL DateTime.
SQL Server does not recognize dates until 1/1/1753. It was this year that England adopted the Gregorian calendar. Usually checking for DateTime.MinValue is enough, but if you suspect that the data may be years before the 18th century, you need to do another check or use a different data type. (I often wonder which museums use in their databases)
Checking the maximum date is not really needed, SQL Server and .NET DateTime have a maximum date of 12/31/9999. This may be a valid business rule, but it will not cause a problem.
fremis Feb 03 2018-10-03 14:13
source share