Lo logre de esta manera, pero si elijo tres registro con multiselect para eliminar me los elimina bien, pero me muestra 3 veces el Showmessage('paso2') y 1 el Showmessage('paso3') jajaja cosa eloco.
Código Delphi
[-]procedure TFORMABMCURSOS.BitBtn2Click(Sender: TObject);
var
X: Integer;
begin
if DBGABMCURSO.SelectedRows.Count = 0 then
begin
Exit;
ShowMessage('paso 1')
end
else
begin
for X := 0 to DBGABMCURSO.SelectedRows.Count -1 do
With MDATOS_DANZA.FDQABMCUOTAS do
Begin
DBGABMCURSO.DataSource.DataSet.GotoBookmark(TBookmark(DBGABMCURSO.SelectedRows.Items[X]));
SQL.Clear;
SQL.Add ('DELETE FROM cuotas WHERE id_cuo = :ID_CUOE');
Params.ParamByName('ID_CUOE').Value := DBGABMCURSO.datasource.dataset.fieldbyname ('id_cuo'). Asinteger;
ExecSQL;
if RowsAffected = 1 then
begin
ShowMessage('paso 2')
end;
end;
ShowMessage('paso 3')
end;
end;