A records not updating
I will assume that this doesn't work for you for some reason, which is why you didn't take that approach.
Alternatively, you could update using a recordset or an SQL statement. Remove the recordset and you'll be left with the code below, which should work.
On the DNS tab enable DNS dynamic updates and set to "Always dynamically update..." Also enable Dynamic Update for clients that do not request updates.
1a) Even if these are enabled, you might need to make sure the DHCP server has permissions to update DNS records.
To increase the speed at which a domain is resolved to IP addresses or the speed of other DNS queries for a domain, your domain's DNS settings are temporarily saved on a variety of servers.
The TTL (time to live) specifies how long a server may temporarily save a domain's DNS settings.
If so, your DHCP server may not be configured to auto-register their IP with the DNS server.
I have made progress, but now I am getting some kind of "locking violation".
The time required for a name server change to take effect everywhere therefore depends on the particular registry.
Most registries update their zone very frequently, often within a few minutes.
If your DHCP server is also a domain controller, then you are probably fine, if not, then you may want to see if the DHCP server is a member of the "Dns Update Proxy" group in AD.
Then check the Security tab on the Reverse Zone and make sure that group is authorized to create all child objects (DNS records) 2) If your statically-configured hosts are not updating the reverse zone, make sure their NICs are configured to register their IP in DNS (Windows hosts are enabled for this by default).