Seems that your code will always throw exception, try change to below..
internal void RegisterHotKey2(ModifierKeys modifier, Keys key)
{
_cID += 1;
if (!RegisterHotKey(_window.Handle, _cID, (uint)modifier, (uint)key))
{
Console.WriteLine("oh no: " + modifier.ToString() + " + " + key.ToString());
throw new InvalidOperationException("couldn't register noooooo");
}
}