The counter wasn't being properly reset after renumbering because SyncAllCounters uses MAX(old, new) which kept higher values from deleted issues. Solution: Add ResetCounter() method to delete the counter entry, then SyncAllCounters recreates it from the actual max ID in database. Now after renumbering 108 issues to bd-1..bd-108, the counter is correctly set to 108 and next issue will be bd-109.