Still learning about database events. Why is qryDetail.AfterPost triggered by qryMaster?

I have a settings dialog where fields in qryMaster are edited and posted first, and if qryDetail is modified too it is also posted. But it never gets posted since qryMaster triggered qryDetail's afterpost and qryDetail.Modified is no longer true:

Not really what you were asking but try not to use the CommitRetaining or RollbackRetaining in transactions. It leads to long running idle transactions which is generally considered to be a program bug. Instead use TSQLQuery option sqlAutoCommit or sqlKeepOpenOnCommit with Commit.