Registry.DeleteKey

Hi, All,
Буду очень благодарна тому, кто подскажет, почему с помощью
нижеописанного кода не могу удалить ключ реестра. Естественно, данный ключ
существует, но резалт удаления возвращает false. Может, в синтаксисе что
не так.
function DeleteRegistryKeySh(RootKey: HKEY; RegKeyName: string):boolean;
begin
Registry.RootKey:=RootKey;
Registry.OpenKey(RegKeyName, False);
Result:=Registry.DeleteKey(RegKeyName);
Registry.CloseKey;
end;
begin
...
DeleteRegistryKeySh(HKEY_CURRENT_USER, 'Software\MyProgram');
...
end;