The patch from weck does a better job than my original idea. Thanks!
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index f5ad292..9f312ea 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -285,8 +285,7 @@
 #endif
 
 #ifndef HAVE_INET_PTON
-#if !(defined(_MSC_VER) && _MSC_VER>1499)
-/* Don't redefine inet_pton in VS2008 */
+#if !defined(NTDDI_VERSION) || (NTDDI_VERSION < NTDDI_LONGHORN)
 int inet_pton(int af, const char *src, void *dst);
 const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
 #endif
@@ -4805,8 +4804,7 @@
 
 
 #ifndef HAVE_INET_PTON
-#if !(defined(_MSC_VER) && _MSC_VER>1499)
-/* Don't redefine inet_pton in VS2008 */
+#if !defined(NTDDI_VERSION) || (NTDDI_VERSION < NTDDI_LONGHORN)
 
 /* Simplistic emulation code for inet_pton that only works for IPv4 */
 /* These are not exposed because they do not set errno properly */