I had a bunch of accounts that were already active during Granada. Today when I made the first tez transfer (after Hangzhou) to one of the already active accounts, I noticed the allocation fee was charged again. So, does a network upgrade require a fresh allocation or is there any other reason for this?
Allocation fee is charged every time you send tez to an empty account (with zero balance). So, if you send tez to the account with zero balance, then withdraw everything, and send tez again, you will pay the allocation fee twice.
This is because when the account is emptied it is removed from the context. However, this is true only for simple tz accounts. Bakers and smart contracts are never emptied.