Microsoft does not support multiple versions of Internet Explorer on one operating system. The reason is that the operating system and Internet Explorer share certain DLLs. When you upgrade from Internet Explorer 6 to Internet Explorer 7 (or Internet Explorer 8) you're actually replacing some system DLLs. This is the reason why you "get" Internet Explorer 6 when you uninstall Internet Explorer 7.
Chris Wilson, Internet Explorer architect, addressed this issue in a blog post Multiple IEs on one machine. Chris states that on-the-fly replacement of mshtml.dll
might work for CSS rendering "...but it's not the same as having a full set of new Internet Explorer system DLLs installed" and would certainly not be considered a definitive solution.
Only virtualization can provide the full DLL stack for definitive testing.
Edit:
On March 18, 2009, the Microsoft Expression Web team released SuperPreview, a free stand-alone application that allows cross-browser side-by-side and onionskin comparison between Internet Explorer 8, Internet Explorer 8 - Internet Explorer7 compatibility mode, and Internet Explorer 6. Additional browsers and an on-demand service is planned to render pages in realtime on other operating systems.
Edit in response to Zac comment
Thanks for the comment. Expression Web 3 (which will include SuperPreview) will allow comparison between any combination of Internet Explorer 6, Internet Explorer 7, Internet Explorer 8, and Firefox 3. This is according to Somasgear's blog entry Expresion Web 3 posted on June 5, 2009. In the screenshot on his blog, you'll see Firefox 3 as the base browser (left side) and Internet Explorer 6 as the comparison browser. Any browser can be placed on either side of the comparison window.