Ohne diesen alten Thread jetzt nochmal komplett durchzulesen: Die Funktion
FormatDateTime z.B. erwartet als Datumstrenner ein "/", weil das im Code fest so hinterlegt ist. Lässt man dort den Formatstring leer, wird
TFormatSettings.ShortDateFormat verwendet.
Demnach sollten Datums-Formatstrings immer ein "/" als Datumstrenner verwenden, der dann in den aktuellen
TFormatSettings.DateSeparator umgewandelt wird. Ich sehe da jetzt nichts falsches daran, wenn Delphi die Einträge für die vordefinierten Datumsformate entsprechend anpasst. Das schließt natürlich nicht aus, daß jemand seine Programme so schreibt, daß dieses Verhalten einen Fehler auslöst. Das ist dann aber eher ein Problem des betreffenden Programmierers, der hier eine andere Erwartungshaltung hat, und kein Fehler in der
RTL.