Si tienes esos componentes "TStoredProc" enlazados con el componente TIBTransaction, entonces no necesitas iniciar otra transacción.
Sería más o menos, así:
Código Delphi
[-]try
DM.SP.Close;
DM.SP.ParamByName('CODIGOCUENTA').AsString := DS1.DataSet.FieldByName('CODIGOCUENTA').AsString;
DM.SP.ExecProc;
finally
DM.SP.Transaction.CommitRetaining;
end;