I do think the issue of NULL dates has not been answered satisfactorily- apart from by Bonnie B who described a mechanism to use a "date a long time ago" as a placeholder for blank. I know the same technique is used by some VFP people who have upsized local tables to SQL Server and discovered the lack of a blank date, but that was usually because it was easier to handle the date placeholder than to rewrite the code to handle NULLs. I'd be interested to see whether NET converts from other places than VFP are using NULLs or placeholders. If they're using NULLs, I'd imagine they're also using change tracking to overcome the issue you have described.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1