http://www.firebirdsql.org/manual/gfix-housekeeping.html has at least two mistakes:
1) "This doesn't mean that every 20,000 transaction a sweep will take place. It will take place when the difference between the OIT and the next transaction is greater than the sweep interval." tells wrong counter. Autosweep is started basing on difference between OIT and OAT, not next ransaction.
2) "Alternatively, simply make sure that you take regular backups of the database and as this is something you should be doing anyway, it shouldn't be a problem." Backup does not work as sweep, it can do garbage collection, but does not push transaction counters.