By my reckoning, the most recent Feb 2006 CTP of WinFX represents the eleventh public release for Windows Presentation Foundation. (And I'm going to step out onto a limb and conjecture that we've probably got just three or four CTP-style releases to go before we release WinFX.) Most of these releases have of course come with a variety of associated paraphenalia, including SDKs, developer tool extensions and even dependent applications such as Microsoft Max or Expression Interactive Designer.
Moving from release to release is an inexact science. It doesn't take a mathematical genius to figure out that there are hundreds of combinations of different build histories on machines out there, and inevitably (since the setup process is also beta) there can be bits of cruft left over on machines after one element or another is installed. The comments on the entry I wrote to announce EID are a good reminder for us here that we've not cracked this yet. I can't offer a panacea, unfortunately - it's the price we all pay for being early adopters of a new system-level component that integrates tightly with the rest of the operating system - but I did want to offer some tips to try and mitigate the worst of the pain and help people get their machines clean. (Not that this will be of any comfort, but it's not any easier internally, where there are daily builds from multiple build labs to deal with!)
It's probably safest to uninstall all of the above just to be sure, making sure you leave the WinFX Runtime Components until last.
I've seen occasions before where one or two older files can get left over in these directories that can fool installers such as Expression Interactive Designer, or worse, can prevent newer versions from being installed. In particular, if you see files such as PresentationCore.dll, PresentationFramework.dll or WindowsBase.dll, that should act as a warning sign to you that you've got some left-over cruft. Make sure you don't just randomly delete the content of these directories unless you're sure that the uninstallers have done all they can do - you start to edge into completely unsupported territory at this point, since it's hard to troubleshoot a system in this state.
That's all the tips I can think of for now. I'll update this entry as appropriate over the next day or two with any corrections or additional suggestions. I'll sound like a faceless corporate automaton if I apologize for any inconvenience caused, but I do mean it! In an ideal world we'd do a better job in the installer of cleaning up old installs, but that would really detract from the purpose of CTP releases, which is to get regular updates out to the developer community without imposing a heavy burden on the developer team. I hope this post at least helps to explain the trade-off, even if it's still not all that pleasant for us in the trenches.