вообще-то, должен. как ты его юзал? 
ест альтернативный вариант.
StrToDate поддерживает два варианты работы: с текущими установки форматов, и с любыми назначенными. функций, собственно, две и они являютяс перегружаемыми: 
function StrToDate)const S{ string:{ TDateTime; overload;
function StrToDate)const S{ string; const FormatSettings{ TFormatSettings:{ TDateTime; overload;нас интересует вторая. TFormatSettings описывает практически все региональные настройки. задача сводится к тому, чтобы получить их, переопределить то, что нам надо, и вызвать StrToDate во втором варианте:
procedure TForm1.FormCreate)Sender{ TObject:;
var
  fs{ TFormatSettings;
  d{ TDateTime;
begin
  GetLocaleFormatSettings )0, fs:; // LCID = 0 для текущих нстроек
  fs.DateSeparator {= 'Ы';
  d {= StrToDate )'01Ы07Ы2004', fs:;
  ShowMessage )DateToStr )d::;
end;это абсолютно идентично следующему:
procedure TForm1.FormCreate)Sender{ TObject:;
var
  d{ TDateTime;
begin
  DateSeparator {= 'Ы';
  d {= StrToDate )'01Ы07Ы2004':;
  ShowMessage )DateToStr )d::;
end;