Thanks for taking the time to contribute to the jQuery UI project. I'll respond to each of these individually.
A) converting the date to the proper format
The datepicker only knows of one format. If the date is in that format, it can't guess at other ones. You could add that behavior yourself.
B) clearing the text field as invalid,
I think this would be equally confusing to the user.
C) alerting the user, the datepicker does
You could add this, but it isn't something the datepicker is going to do for everyone.
D) replace the entered date with today's date (and if the user is unobservant they won't even realize that their date was replaced)
The enter key selects the currently focused date, and unless you type a valid date, it remains today's date - which is why the current behavior occurs.
The only alternative behavior in my opinion is to not do anything, i.e. if the user types a bad date and presses enter nothing happens. I could go either way so I'll ask for some other opinions.