I would set the service packs and IE version as a baseline requirement. Warn your users if they don't have it and tell them to use Windows Update to get it. Don't try to install those yourself.
With the VC redist I suggest you get rid of the redist and simply include the files from C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT in your installer. Have them installed in your application directory (
not in the system directory!!!)
and it'll work fine. You can probably exclude the msvcm80.dll file (which is only needed for managed C++ applications), but you
must include the manifest file.
MFC can be handled the same way: C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.MFC. Again, install in your application directory, not the system directory!
That leaves on MSXML6. Unfortunately you will have to run the MSI file for this. You can use something like the
Bootstrapper Manifest Generator to create a package for the VS2005 bootstrapper (or Google around, someone may already have created one). You place your new package in C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages, and then you can use MSBuild to generate a bootstrapper that'll automatically detect and install MSXML6 and then launch your setup. You would have to include the files with your application or provide your own download server.