Si tienes el nombre del archivo en un string, y quieres cambiarle la extención puedes utilizar la función ChangeFileExt definida en la unit SysUtils, y si este archivo es un archivo del FileSystem puedes utilizar RenameFile para cambiar el nombre del archivo:
Código Delphi
[-]var
AFileName: TFileName;
begin
AFileName := 'c:\MiArchivo.txt';
Win32Check(RenameFile(AFileName, ChangeFileExt(AFileName, '.dat')));
Saludos!