Нет! Лучше дату представить в вещественном формате
Код:
type
TMyRec = record
AName: String;
ADate: TDateTime;
end;
var
MyRec : array [1..10] of TMyRec;
AMyRec: TMyRec;
...
for i := 1 to 10 do
for j := 1 to 10-i do
if MyRec[j].ADate < MyRec[j+1].ADate then
begin
AMyRec := MyRec[j];
MyRec[j] := MyRec[j+1];
MyRec[j+1] := AMyRec;
end;
На выходе получаешь отсортированный по возрастанию массив