A primeira coisa a fazer, é verificar se tudo está bem no MySQL.
Selecione o componente conn, e no OI marque a opção Connected como True.
O Kylix agora vai tentar se conectar ao servidor MySQL e caso tenha sucesso ele só vai manter a opção como True. Caso contrário, informará um erro e você terá que verificar o MySQL para saber o que há de errado. Siga a minha dica da URL 
http://www.guiadohardware.net/linux/dicas/40.htm e tente novamente.
MySQL ok? vamos fazer um evento para fechar o programa:
Clique duas vezes no botão butFechar, e no fonte digite o seguinte:
procedure TfPrincipal.butFecharClick(Sender: TObject);
begin
    if messagedlg('Deseja realmente fechar esse programa?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
    begin
       Application.Terminate;
    end;
end;
    
    Tecle F9 e teste o evento.
    
    Inserindo dados no MySQL:
    Vamos criar o evento do botão butIns, inserindo no MySQL os dados digitados nos componentes edtNome e edtTel.
    O que temos que pensar? Que vamos capturar o valor digitado nos edits, jogar numa string MySQL e executar a mesma no servidor MySQL. É bem simples, veja o fonte abaixo:
    
procedure TfPrincipal.butInsClick(Sender: TObject);
    var nome, tel: string; //Aqui eu declaro as variaveis que vou usar para os dados
    erro: integer; //Essa variável vou usar como controle de erros
    begin
    //Capturando os valores e jogando nas variaveis
    nome:= trim(edtNome.Text);
    tel:= trim(edtTel.Text);
    erro:= 0;
    
    //verificando se a variavel nome está vazia ou não:
    //se estiver vazia, dou valor 1 para o erro, uma mensagem é exibida e o programa não acessa o mysql.
    if (nome='') then
       begin
          ShowMessage('Você precisa digitar um nome!');
          erro:= 1;
       end;
    //verificando se a variavel tel está vazia ou não:
    //se estiver vazia, dou valor 1 para o erro, uma mensagem é exibida e o programa não acessa o mysql.
    if (tel='(  )    -') then
        begin
           ShowMessage('Você precisa digitar um telefone!');
           erro:= 1;
        end;
    
    //verificando se houve erro na validação. Se houve não faz nada
    // Se não houve erro, prossegue com o mysql.
    if (erro=0) then
        begin
        //criando a string MySQL. é necessário o uso da função quotedstr() para inserir as aspas simples nos valores.
           sql.SQL.Text:= 'INSERT INTO telefones (agenda_id, agenda_nome, agenda_tel) VALUES (0,'+quotedstr(nome)+', '+quotedstr(tel)+')';
           //executando a string:
           sql.ExecSQL(True);
           //limpando os edits:
           edtNome.Text:= '';
           edtTel.Text:= '';
           // informando o sucesso da operação:
           showmessage('Cadastrado com sucesso!');
        end;
    end;