When an Account owner is updated, Salesforce will automatically update the record owners of records related to the Account in some standard objects, including Opportunities, Cases and Contacts:

When this happens, all manual and apex sharing will be removed on the related object records. Removing apex and manual sharing on standard objects following ownership change is standard behaviour, but when apex triggers or flows are used FormulaShare typically detects these changes and will reassess and reapply sharing in real time.
In the account ownership scenario however, Salesforce will not execute record-triggered flows or apex triggers on the related records (see the answers to this stack exchange question for example)
There are two options if Account ownership changes are likely to affect FormulaShare rules sharing standard objects related to Accounts in your org:
- Rely on the batch recalculation to reapply sharing
- Query for relevant related records from a Account trigger or record-triggered flow, and pass these to FormulaShare for reassessment in real time
The second option should be used with caution if the number of affected records is likely to be very high. If called for a large number of records in this way FormulaShare is likely to run into CPU timeout or other governor limits, so it's best to throttle the number of records which will be sent for real time reassessment. An outline of how this approach can be applied using flow is below.
Real time reassessment using Flow
The standard Apply FormulaShare Rules flow template provided with FormulaShare can be adapted to reapply sharing after Account ownership changes.
Open the template, change the triggering object to Account and add a condition so that this only runs on Owner ID change:

Add a "Get Records" element, and add conditions to return all records from any object linked to Account which has one or more FormulaShare rules to reassess. Use the "Maximum Number of Records to Store" to ensure this is restricted to a suitable limit. This will vary depending on the number and complexity of rules and any other triggered automation in your org - we're using 50 here which would usually be suitable for an object with 3-4 simple rules:

While defining the Get element, create a resource to hold the queried Opportunities:

Open the "Call FormulaShare" apex action, select "Process Other Records" and select the record variable defined in the previous step:

Save as a new flow and activate. With the flow active, related records from the selected object will be reassessed when the Account owner is changed. This approach can be extended if needed to create multiple flows to reassess and reapply sharing to records from different related objects if needed (for example three separate flows for Contacts, Opportunities and Cases)