Whoop! I missed something here.
In src/include/port/win32.h, recv is #defined to pgwin32_recv(s, buf,
len, flags). This version of the function appears to do all the errno
mapping, etc. So pipe.c is correct, or at least I have no answer as to
why the error code is not showing up in my log :(.
Merlin