Ugh. This problem was bad enough when I thought that it would only lead to link-time errors detectable in the buildfarm. If it can lead to errors only observable at runtime --- and maybe not obvious even then --- then I think we *have to* do something about it. By that I mean that we must get rid of the need to manually plaster PGDLLIMPORT on global variables.
Anybody with a Windows build environment want to test the "#define extern" trick?
We have details on how to build with Mingw/Msys on Windows on an Amazon VM <http://wiki.postgresql.org/wiki/Building_With_MinGW> which is either free or very cheap. Do I need to give instructions on how to do this for MSVC builds too? It's really not terribly hard.
If you gave step by step instructions like the ones for MinGW, I would at least give it a try. Last time a looked into it, I gave up after I couldn't figure out which of the umpteen similarly-named products was the one I needed to buy/download-for-free/register-and-download and then install, and I tried a few of them at random without much success.