I couldn't say about Terminal Services; don't use it. Some of the related
entries in EventID mention TS, so there's probably some useful info there
for you. However for diagnostic purposes, TS can help when using OH.EXE
(referenced in EventID). OH (Open Handles) is a downloadable, MS
resource-kit utility that will identify the handles that don't close at
logoff and that thus prevent the registry from unloading. Using TS allows
you to have two sessions logged on at once, so OH remains active when you
log off one of the sessions and thus keeps monitoring/recording the open
handles. There's quite a lengthy description of how to do this in the
EventID entry (which, because of how common this issue is, has gotten really
long).
Rick has suggested that the problem is caused by the Spooler service, and
apparently turning off/fixing the spooler does clear this up for some, but
it didn't solve the problem in my case. In my case, the problem was caused
by AWHOST32.EXE, which is the pcAnywhere Host-service executable.
Ultimately, after trying for months to solve this, I was able to identify
the problem only with Robin Caron's UPHCLEAN.EXE. UPHCLEAN would have
allowed the unloading of the registry, but after putting so much time/energy
into this, I wanted to try to actually solve the problem. As Symantec wasn't
going to fix its software, the solution I came up with was to create
SHUTDN.BAT . This uses SHUTDOWN.EXE to stop and/or restart the server, but
first it stops the pcAnywhere service (NET STOP "PCANYWHERE HOST SERVICE").
Once AWHOST32.EXE is shut down, the registry unloads just fine.
GaryK