Often the way, sadly. Inevitably leads to further junk-piled-on-junk downstream though.
In your code MIN(Date) would have ignored any value which was NULL, so it would have just worked as-intended. As it stands right now every single place in the APP / all reports / etc. where that date is checked / used there has to be a test for 01-01-1900
Also, without a bogus 01-01-1900 date the table could have a check constraint that ensured that values in [Date] was within a "reasonable" range ... whereas, right now, you might have some junk in there (there might be some other safety-check, e.g. in the APP, but that wouldn't stop someone doing a direct SQL update and accidentally updating to a value that was "unreasonable", or a new APP / software change not making a suitable check on the value.
Probably (as in "hopefully"!!!) nothing to find but might be worth doign:
SELECT MIN(Date), MAX(Date)
WHERE Date <> '19000101'
just to check there is nothing goofy. If there IS then that might cause The Powers That Be to think it is worth tightening it up