Shutdown the process manager before shutdown the registry. 
Running processes may have opened a registry handle.
Modified: trunk/reactos/ntoskrnl/ex/power.c

Modified: trunk/reactos/ntoskrnl/ex/power.c
--- trunk/reactos/ntoskrnl/ex/power.c	2005-11-13 17:28:24 UTC (rev 19208)
+++ trunk/reactos/ntoskrnl/ex/power.c	2005-11-13 17:32:01 UTC (rev 19209)
@@ -148,15 +148,16 @@
                                           sizeof(PCH))]);
      }
 
+   PiShutdownProcessManager();
+   Waittime.QuadPart = (LONGLONG)-10000000; /* 1sec */
+   KeDelayExecutionThread(KernelMode, FALSE, &Waittime);
+
    CmShutdownRegistry();
    IoShutdownRegisteredFileSystems();
    IoShutdownRegisteredDevices();
 
-   PiShutdownProcessManager();
    MiShutdownMemoryManager();
 
-   Waittime.QuadPart = (LONGLONG)-10000000; /* 1sec */
-   KeDelayExecutionThread(KernelMode, FALSE, &Waittime);
 
    if (Action == ShutdownNoReboot)
      {