A friend at work was having some issues with his dev box today, working in video means we're constantly messing around with DirectShow filters, capture devices etc. etc. So things break every now and then and we deal with it like normal _sane_ developers (i'll leave you to think of how thats done).
Today however when we uninstalled a certain capture card software (that shall remain nameless...) he found that almost all his filters and video decompressors were messed with. Attempting to use them in GraphEdit would give the dreaded 'Class Not Registered' error message. So being the cool people we are, we got a copy of
Paul Glagla's Filmerit and had a looksy. To our surprise there were almost 50 broken filters. So naturally we went through and tried to register them manually. But no luck.
Then I had a double look at what Filmerit was trying to say (now this screen shot is a reproduction of what happend, not the exact shot from his box!):

Filmerit 3.08 Dialog showing broken filters - caused by me on purpose for 'emulation'.
Notice the 'Server File' has an error, this isnt the 'filter' thats causing it but rather the container itself. The uinstaller had some how managed to unregister a core DirectShow component. Naughty naughty (now do you see why I didnt mention the company name?)!
So now I checked my machine to see which file its meant to goto, turns out its 'qcap.dll' is the culprit (which is in your system32 folder). Register this component and voilla! all those broken filters will be fixed! To be sure, unregister the component first and then force it to be registered again.
C:\>regsvr32.exe /u "C:\Windows\System32\qcap.dll"
C:\>regsvr32.exe "C:\Windows\System32\qcap.dll"
Note, that Filmerit wont fix an issue with DirectShow itself, only for broken filters.