Indeed, in all three cases, now that I look more closely, a user gets deleted.
When rejecting a moderated user, the user is deleted.
When deleting a user, the user is deleted.
When merging a user, the original user is deleted. This triggers a second call to changeContentUser that was unexpected.
When I gave you the replacement code above, it did not consider that the user-delete process would also trigger changeContentUser. Please refer to the new edits above, which should resolve the merge issue without also creating a new issue for deletes.
I was able to delete a user successfully, without any error logged, while the new code was in place.