Amigo, el enlace que mencioné habla precisamente de eso.
La idea es copiar en memoria todos los registros excepto el que deseas eliminar.
Bueno, encontré algo de código que tenía guardado, espero que te sirva de ejemplo
Código Delphi
[-]
procedure EliminarRegistro(N:Integer);
var F:file of TRegistro;
Reg:TRegistro;
Mem:TMemoryStream;
begin
Mem:=TMemoryStream.Create;
if FileExists('MiArchivo') then
begin
AssignFile(F,'MiArchivo');
Reset(F); while not EOF(F) do
begin
BlockRead(F,Reg,1);
if FilePos(F)<>N then
Mem.Write(Reg,SizeOf(Reg));
end;
CloseFile(F);
if Mem.Size=0 then
DeleteFile('MiArchivo')
else
Mem.SaveToFile('MiArchivo');
end;
Mem.Free;
end;
Saludos