First, create a System Restore point, then
back up your registry using a tool such as
ERUNT.
Well you have a few options, firstly I would boot in to safe mode and try from there, if the problem still persists then look at the permission of the key you're trying to delete (right click on the key, choose Permissions). Take ownership and add Full Control for Everyone, then try again. BE CAREFUL to not reset a high level key (such as HKLM), only target the key you are looking to delete.
Next I would try using subinacl.exe, which traditionally comes with the Windows Resource Kit Tools however Microsoft has made the XP version available as a stand alone
download here.
Syntax from the command prompt would be as such:
subinacl.exe /keyreg HKEY_LOCAL_MACHINE\(YourKeyHere) /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt
Replace (YourKeyHere) with your target key of course...
If that fails then you can try to use the regini command to give yourself full access to the key, but this is cumbersome.. however you can find the
details here. (I personally don't like this option)
And if that fails you can try using Sysinternals (now owned by Microsoft) psexec tool
which can be found here.
You would start regedit from the command prompt using psexec as such:
psexec -i -d -s c:\windows\regedit.exe
BE CAREFUL with this last option! You're basically running regedit as the SYSTEM user, which is all powerful!