Where I was heading is that you can (and I do) use a label to display the date (or blank date), and then on the Label _Click event, bring up a date picker. If the associated callback is called, then format the returned date and put it into the label.
If your requirement is that the user should be able to blank the field after it has been set to a date, you can use the _LongClick event to do that.
Or am I missing some other problem? Perhaps I am suffering from a case of:
Nothing is impossible for the man who doesn't have to do it himself.