Hola Burton, por lo que yo entiendo, tu no quieres que el usuario pueda darle el nombre a tu archivo, por lo que, creo que sería mejor utilizar SelectDirectory como estabas intentando hacerlo al principio.
Código Delphi
[-]
var
Id : TextFile;
Carpeta : String;
begin
if SelectDirectory('Seleccione la ruta de la carpeta', 'd:\', Carpeta) then
begin
AssignFile(Id,Carpeta+'\Id.txt');
Rewrite(Id);
Writeln(Id,Carpeta);
CloseFile(Id);
end;
end;
Esta función de devuelve True si se Acepta la carpeta seleccionada, el primer parametro solo es el titulo que se mostrará, el segundo la ruta de donde quieres que seleccione si es '' entonces te aparecera en Mi PC, el tercer parametro la variable donde se te almacenara la ruta seleccionada la cual le pasas al AssignFile concatenando el nombre del archivo que quieres.
Saluditos