Zen,
Yes, you would need to delete all the subkeys to delete a regkey.
Here is a script that we use at work to delete regkeys and their subkeys.
Const HKEY_CURRENT_USER = &H80000001
Dim oReg
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Call DelRegKey(oReg, HKEY_CURRENT_USER, "Software\Microsoft\OfficeCustomizeWizard")
Msgbox "Completed"
Sub DelRegKey(oReg, Key, sSubkey)
' Deletes registry key and subkeys (permissions to delete keys must exist)
' Key: Tree that contains the sSubKey path
' (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS or HKEY_CURRENT_CONFIG)
' sSubkey: Subkey to be deleted (Case-sensitive string)
' (Example: "SOFTWARE\System Admin Scripting Guide")
Dim aSubkeys, subkey
oReg.EnumKey Key, sSubkey, aSubkeys
If Not IsNull(aSubKeys) Then
For Each subkey In aSubkeys
Call DelRegKey(oReg, Key, sSubKey & "\" & subkey)
Next
End If
' Error trapping in case we can't delete (no permissions)
On Error Resume Next
oReg.DeleteKey Key, sSubKey
On Error GoTo 0
End Sub