My original question was not answered directly but to answer your question, the discrepancy of 1 has remained for several months during which both the Ancestry and RM trees have grown and the Database Tools (in RM) are run at least once a month.
As an aside I find that if I do not reindex after lots of changes then I get strange results such as people being linked to the wrong person. However, on every occasion reindexing (and doing the other tools) solves the problem. However, the 1 person difference between the tree count and the statistics list remains.
Conversely suppose that you had a dynamic group and you wanted to exclude a few people was a one-off report. Obviously I remove those excluded people and run the report. What I then want to be able to do is put everything back to the default dynamic group. The last thing I want to do is have to include back all those I have excluded.
Another solution would be to be able to create a static group from a snapshot of a dynamic group. So in the above scenario I would copy the group, exclude the various people, run the report and delete the static group. Leaving the dynamic group untouched in any change to its definitions.
I too very much want dynamic groups. I would suggest that if there are particular individuals to be added or unmarked then there should be a confirmation button that says "You have made changes to (the criteria of) this group. Would you like to add those criteria to the original criteria of the group".
Thus if I say NO then those changes will be removed if a dynamic refresh of the group is made.
But if I say YES then those changes will be included for future refresh.
Obviously you need to be able to edit the criteria and then apply that changed criteria.