俺は一応、画面からの日付入力 → CDateでDate型に
 → それを入力文字列の年月日時分秒 とそれぞれ比較して入力値をチェック

DBのテーブルでは、日付は基本的にdatetimeとかのそれ用のデータ型。
登録は基本的にSQL文を利用。
SQL文を作成するところで、Format関数使って文字列に戻してる。

日付として正しいかどうかわかんない日付表示文字列をそのままDB登録するとか
意味わからん。どうしても一旦はDate型にするだろ。