I am happy that Qt open source edition can now be used with Microsoft Visual Studio express edition, and have recently switched to using the free version of Visual Studio (express 2008) for open source development (I use it on command line and in conjunction with HaiQ). I have found two primary advantages of using MSVC over MinGW compiler:

1. Compilation speed. As mentioned in a recent thread, it is apparently well known that MS compilers are faster.
2. Compatibility with Linux. I have found that visual studio will give certain errors and warnings that MinGW misses by default, and therefore my code is now more likely to compile in Linux on first try.

Here are some basic instructions for using Qt with visual studio express.
Step 1. Download latest Qt source (see http://qtcentre.org/)
Step 2. Download and install Microsoft Visual C++ express edition from here.
Step 3. Open a Visual Studio command prompt (from start menu).
Step 4. Change to Qt source directory, and run configure.exe.
Step 5. Run nmake. Qt source will be compiled.
Step 6. Use the following environment variables: QTDIR=[location of Qt source], QMAKESPEC=win32-msvc.net, and add the Qt bin directory to your path.
Step 7. To compile Qt projects, open a Visual Studio command prompt, and type qmake/nmake.

Step 8 (Recommended by me). Get the latest (development source) of HaiQ (available via svn), compile and run from within visual studio command prompt. And configure to use "nmake" instead of "mingw32-make". (Don't expect a debugger, because there's none).

I have been working on this for some time now, and it is my opinion that this technique is the most efficient and most convenient way to develop open source Qt on windows. I hope you find success, and enjoy it as much as I do.