Si solo quieres mostrarlo en una etiqueta con esto ejemplo a mejorar te puede servir.
Código:
procedure TForm1.Button1Click(Sender: TObject);
Var
cMiFecha:String;
cmes,cdia,canno,cBarra:String;
begin
cBarra:='/';
cMiFecha:='2004-02-02 11_20_23.txt';
canno:=Copy(cMiFecha,1,4);
cmes:=Copy(cMifecha,6,2);
cdia:=Copy(cMiFecha,9,2)';
label1.Caption:=cdia+cBarra+cMes+cBarra+canno;
end;
Con esto no habrá ningún error y se mostrará exactemente lo guardado, si haces lo que te dice Cadetill, entonces tienes que guardar los valores, aplicándo el mismo método pero con la funcion StrToInt y guardarlos en variables de tipo Word, y luego al ejecutar la función
EncodeDate, tienes que utilizar un bloque Try....Except....End, ya que nadie nos garantiza que la fecha que han escrito sea una fecha válida.
Un Saludo.