Насколько я знаю, SubKey хранится в пути в системе.
Таким образом, вы можете сделать что-то подобное, чтобы проверить, существует ли SubKey:
using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\test"))
{
if (key != null)
{
Console.WriteLine("yourKey exist!");
}
else
{
// e.g. create SubKey
}
}