Hola
Entiendo por lo que cuentas que el insert lo realizas sobre el mismo DataSet que sobre el que realizas ejecutas la SQL. En ese caso lo que tienes que hacer despues del "Post", es obtener una marca del registro, este se realiza con la clase TBookmark.
Ejemplo:
Código Delphi
[-]
var
Posicion: TBookmark;
begin
try
TuDataSet.Post;
Posicion := TuDataSet.GetBookmark; TuDataSet.disableControls;
TuDataSet.Close;
EjecutarLaSQLconOrderBy
TuDataSet.gotoBookmark(Posicion); finally
TuDataSet.enableControls;
TuDataSet.freeBookmark(Posicion); end;
end;
Denes tener en cuenta que lo que he descrito es solo el orden en el que tienen que suceder los mandatos.
Con el ejemplo te olvidas del locate.
Un saludo.