I have received some private messages and emails asking me some questions so I thought I would post an update here.
1) As I understand it, it would be great if it could be a part of the main development project - do you think that would be realistic? It would require to make a few changes to the source code, for example some invocations of the IMPLEMENT_SERIALIZE doesn't compile with msvc, and also some other minor things. But the code should certainly be able to be modified to compile in both mingw/linux/msvc. Because as I understand it, you are now basically maintaining separate modified sources for this to work.
2) Would you consider to move all 3rd party libraries into your project? I tried it just today, and for example openssl and boost libraries can be comfortably added to the MSVC project through the NuGet Manager - no need to download, install, and compile them separately. Also the berkeley-db, it's just a bunch of headers and libs, it could be added directly to the project. Also the QT is doable, since we use it at my work, and we just integrated the sources to our source code tree and compile it together with our files. This way, people could just download the msvc solution and it would work out of the box without the need to install anything else.
3) Debugging: Please, did you manage to debug with Visual Studio? My problem is, that the blockchain is being downloaded (using the debug version of the bitcoinqt from your project), but at certain point, there are some nonstandard transactions there, which are handled by try/catch block - there are some invalid indexes to std::vector, which causes exceptions, and those are properly handled by the catch(...). But, every time this exception occurs, the exception dialog box is invoked in Visual Studio, and I must click "Continue"...but this happens hundreds of times, making the debugging practically impossible. I just didn't find any way how to permanently suppress those dialogs (so the breakpoint will not be invoked when handled exception occurs).
1. I really don't have specific plans. I'm basically learning as I go here, although I'm trying to help out where I can. I'm may start looking into resurrecting my github project and submitting the changes one or two files at a time, to see if they get accepted. I'm not sure the Bitcoin team cares about MSVC but I may try a pull request to see what happens. I need to spend some time learning github better, first, though. My fear is that they won't want the solution and project files added to the official Bitcoin project.
2. I'd rather not clutter up the solution any more than it already is. I feel funny enough having put the QR code project in there now. I use Qt and openssl in my work as well, but I think my team mates would have a fit if I tried to put them into the solution. Currently, I build Qt/OpenSsl and give everyone the output in a zip file. That seems to work the best, especially since we often have to switch back and forth between Qt versions.
3. Yes, I have run the Bitcoin Qt app extensively in debug mode. I had to make some code changes to avoid aborts due to the extra error checking in the MS version of the STL. All the code changes I made for debug mode should be compatible with mingw. Here is one example but there are several more:
https://bitcoinqtmsvc2012.codeplex.com/SourceControl/changeset/31241