Hmm, I have an idea.

How about using regmon and filemon from http://www.systernals.com/win9x/98utilities.shtml to find out what is making it switch back? At least you can see what is making registry changes and you will also be able to record which processes are doing what to the HD and reg.

That is just an idea though...

It has worked for me on several occasions with other problems.