Ok. I feel rather stupid. Here is the solution for posterity...
The distributed pdcurses binaries are 32bit. I was trying to build for 64bit.
Fundamentally, I forgot the first rule of linkage: don't mix and match architectures.
More specifically, when attempting to then build from source:
1) beware of starting the wrong Visual Studio command prompt. The default one from the Tools menu is the x86 one. If you just try and run cl.exe you'll find this out.
Instead, run the prompt from the start menu: Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio x64 Win64 Command Prompt (2010)
Invoke the build then by cd'ing to pdcurses directory/win32a and typing:
nmake -f vcwin32.mak DLL=pdcurses.dll
Also, 2) before you compile pdcurse change line 111 of the pdcurses Windows makefile (vcwin32.mak):
cvtres /MACHINE:X64 /NOLOGO /OUT:pdcurses.obj pdcurses.res
(NOTE: i.e. X64 architecture!)
Everything is now consistent. The pdcurses library will build. And it will link with my test app which (as the original output shows) I am building on x64.