Vamos precisa de mais um TForm. Clique no botão NewForm, selecione o novo form e no OI edite as seguintes opções:
    Caption - Editar
    Height - 160
    Name - fEdita
    Width - 185
    
Clique em Save, e salve como uEdita.pas
    
Agora, vamos ganhar tempo: Selecione no fPrincipal o objeto GroupBox1, e dê um CTRL C para copiar. Logo em seguida selecione o fEdita, e dê um CTRL V. Observer abaixo como ficou:
 
    
    Modifique esses dados no OI para o fEditar / GroupBox1:
    Caption - Editar
    Modifique esses dados no OI para o fEditar / butIns:
    Caption - Editar
    
    Para chamar esse form, clique duas vezes no componente Popup1 so fPrincipal, clique duas vezes na palavra Editar.
    No código, coloque assim:
procedure TfPrincipal.Editar1Click(Sender: TObject);
begin
     fEdita.ShowModal;
end;
Precisamos preencher esses edits do fEdita com os valores selecionados no fPrincipal. Faremos o seguinte:
No mesmo evento acima, vamos já preencher esses dados. Observe o 
código abaixo:
procedure TfPrincipal.Editar1Click(Sender: TObject);
begin
    //preenche os edits
    fEdita.edtNome.Text:= gridver.Cells[0,gridver.Row];
    fEdita.edtTel.Text:= gridver.Cells[1,gridver.Row];
    fEdita.ShowModal;
end;
E no fEdita precisamos guardar o número antigo do telefone para poder fazer o update no mysql. Criarei uma variável global. Observe:
var
  fEdita: TfEdita;
  deletar: string; //telefone antigo
    
    implementation
    
    {$R *.xfm}
Selecione o fEdita, vá no OI e em events clique duas vezes na opção onShow. Observe:
procedure TfEdita.FormShow(Sender: TObject);
begin
   deletar:= edtTel.Text;
end;
Dessa forma, assim que o form é aberto o valor do telefone selecionado é inserido na variável deletar, de forma global.
Editando
Clique duas vezes no botão Editar (butIns do fEditar): Digite o código:
procedure TfEdita.butInsClick(Sender: TObject);
begin
    //confirma se deseja editar ou não:
    if messagedlg('Deseja realmente editar o telefone ' + deletar,mtConfirmation,[mbYes,mbNo],0)=mrYes then
    begin
       fPrincipal.sql.SQL.Text:= 'update telefones set agenda_nome = ' + quotedstr(trim(edtNome.Text)) + ' , agenda_tel = ' + quotedstr(trim(edtTel.Text)) + ' where agenda_tel = ' + quotedstr(deletar);
       fPrincipal.sql.ExecSQL(True);
       self.Close;
       fPrincipal.verdados(1);
    end;
end;
E acabamos, compile e distribua para seus amigos :)
Como podem ter notado, criei a procedure verdados() com um parâmetro integer, deforma que fica mais fácil para inserir mais funções. Basta trocar o 1 por outro número qualquer e editar no fonte para executar o que você quiser de acordo com o número que foi escolhido.
Esse exemplo que criei te dará base para criar infinitas coisas mais complexas, use sua imaginação :)
 
Vida longa ao software livre.