Your activation scheme sounds like it could be a issue for me.
I do all my development in virtual machines, I have a different virtual machine for each of my customers, and then when a new Delphi release comes out I create a new virtual machine for each of those customers again.
For example I currently have 3 VMs with Delphi 11.2 installed in them, 1 VM with Delphi 10.4, 1 VM with Delphi 10.2 and then 2 more VMs with older Delphi versions. When Delphi 12 is released I will likely trash a bunch of those VMs and recreate new VMs with Delphi 12 in them (again a VM per customer with just the Delphi version I need for that customer).
Is your activation scheme flexible enough to support this sort of arrangement?