This is great! I've puzzled over this one a few times to no avail. This will improve data integrity and save some occasional offline file manipulation.
In case it helps anyone else, my particular source column also contained some blanks, which IsNumeric() decided was a number and converted to a date of 12/30/1899. By replacing IsNumeric($_) with $_>40000, it retained the blanks.