I have a hunch of what might be hapenning. Whenever weird **** like this happens it has to be the registry. It always helps to keep an export of the registry handy when in good times. Helps through the rough ones. I have not seen it before, so I cannot help you with what keys might be responsible. With the thousands of possible permutations of changes that can happen to the registry, I doubt that even Microsoft would know the answer to this one without putting your system to a debugger. :-(
If you do have an older registry at hand, you could try a couple of things:
1) diff them on a cigwin or linux box and look for the differences. Sure it is a lot of work exploring these changes, but in the end you might save a format.
2) Revert to the older cleaner registry. You will have to reinstall some of the applications since then, but all your data is secure and therefore beats formatting.
You could always try a few of these reg cleaners, but it is a long shot, I do not trust them very much, and could accelerate the road to oblivion (format).
What is your OS? I presume that this is hapenning only with C and the other folders are OK.
Best of luck