Well I followed the Master Sticky exactly as written. When I opened the Freespace.sln project file, Fred 2 was in there but was unchecked. I assume the creator of that project intended for it to be like that. And yet I still got the error saying I needed MFC.
Because I LOVVVE Freespace 2 so much, I'll do it again. Made a copy of the FS2_open folder and put the copy in a different drive. Then I patched it with BP and yarn patches (the yarn patch only changes the hud). Then I opened Freespace2.sln in Visual Studio Express 2013. Changed the Freespace 2 properties -> Configuration -> Debugging -> Command to $(FS2PATH)\$(TargetFileName) . Chose "Debug SSE2" in that drop down menu (I wondered about this one but thought eh, might as well patch whatever my system is capable of patching). Finally pressed F7 to build.
And there it is. Wow, I didn't read the line properly in Zacam's master sticky that said this:
"In the last line you will see outcome of your build. Normally you will see one failed because Visual Studio Express cannot compile fred2_open. This is fine and we can continue." 
Well, I guess my compile was successful after all

I was waiting for the line "========== Build: 6 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========". What happened was that the Error List popped on top of the Output window, and I didn't realize that until right just now. Anyway, my error list:-
Warning 1 warning C4244: '=' : conversion from 'int' to 'ushort', possible loss of data c:\fs2_open_bpyarn\code\network\multi_options.cpp 202 1 code
Error 2 error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See
http://go.microsoft.com/fwlink/p/?LinkId=286820 for more information. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 369 5 Fred2
Warning 3 warning D9030: '/Gm' is incompatible with multiprocessing; ignoring /MP switch C:\fs2_open_bpyarn\projects\MSVC_2013\cl Freespace2
Heh, the warnings don't matter since one is for multiplayer and the other is multiprocessing. And the error is in fact the Fred 2 thing. Ok, feeling good. Thanks for the kick in the rear end, Chief

BTW, I can rename the generated exe files and it won't affect them, right? I'm just wondering how I'd do that in Visual Studio. I've only programmed, this is the first time I've built an exe for something.