[SerializableAttribute] public struct DateTime : IComparable, IFormattable, IConvertible, ISerializable, IComparable<DateTime>, IEquatable<DateTime>
Да, DateTime это, оказывается, структура. А структура это value type и не может быть null, ответ на поверхности.
А для проверки некорректности даты следует использовать
dt == DateTime.MinValue
// DateTime.MinValue = 00:00:00.0000000 January 01, 0001
Также, конечно, можно использовать Nullable<DateTime> = "DateTime?".
Маленькая статейка по теме:
Nullable DateTime