Por lo que pude ver cierras pero no abres los dataset, porq no pruebas esto
Código Delphi
[-]
IBDataset1.selctsql.Active := False;
IBDataeet1.selectsql.clear;
IBDataset1.selectsql.add('update alu000 set estado = :estado');
IBDataset1.parambyname('estado').asString := 'B';
IBDataset1.ExecSql;
IBTransaction1.Commit;
IBDataset1.selctsql.Active := True;
de pronto si posteas el codigo de
Sel_Alu_A y
Sel_Alu_B te podriamos ayudar un poco mas