I had a similar issue today when trying to kill/disable the service SBSCore. (which requires changes to the reg before the service itself can be disabled.) What it comes down to is that you might have the right permissions in place, but as long as that registry is running, that key/value might be locked in place.
In order to unlock the registry, I had to use Sysinternals: Process Explorer and Right Click > Suspend the exactable that had the key locked. Suspending the app made sure that it was malleable (since it releases the locks that it had) but also doesn't force the app to reload and possibly reset/repair the key value while you're working on it.
In Process Explorer, you can use Ctrl+F and search using the program location, program name, or DLL to find which apps are using it. Double Click to jump back to the main ProcEx window with the program highlighted and selected for you. Suspend it and then make your changes.
Besides that, the only other thing of note is to make sure that you have the parent regkey permissions update the child regkeys. Just adding the permissions per key won't mean you have 100% access to everything under it.
The work around for me came from here: How to disable SBS 2003 to 2008/2011 migration grace time period expiration