The problem is this: with no server listening on the port the client will process connect and respond with a success. Futhermore, I can go on to send() data and it will come back saying that it sent the requested number of bytes.

When a server is listening it works fine.
Note: POSTBUFF; is just a #define that prints szBuffer to an edit box.

Code:
         if ( iError = WSAStartup (MAKEWORD (2,0), &WSAData) )
               {
               wsprintf(szBuffer, TEXT("WSAStartup() error #%i.\r\n"), WSAGetLastError() );
               POSTBUFF;
               return 0;
               }
         
         wsprintf(szBuffer, TEXT("Started up %hs\r\n"), WSAData.szDescription);
         POSTBUFF;
         
         if ( (lpHostEntry = gethostbyname("Michael")) == NULL)
            {
            wsprintf(szBuffer, TEXT("gethost error %i"), WSAGetLastError() );
            POSTBUFF;
            }
            
         if ( (sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP) ) == INVALID_SOCKET)
               {
               wsprintf(szBuffer, TEXT("sock error #%i\r\n"), WSAGetLastError() );
               POSTBUFF;
               }
         
         if (SOCKET_ERROR == WSAAsyncSelect (sock, hwnd, WM_SOCKET_NOTIFY, FD_CONNECT | FD_READ | FD_ACCEPT | FD_WRITE | FD_CLOSE | FD_OOB) )
               {
               wsprintf(szBuffer, TEXT("WSAAsyncSelect sock error #%i.\r\n"), WSAGetLastError() );
               POSTBUFF;
               closesocket (sock);
               }
          sa.sin_family = AF_INET;
          sa.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
          sa.sin_port = htons(9143);
         
         temp = connect (sock, (LPSOCKADDR)&sa, sizeof(struct sockaddr) );
            if ( temp == SOCKET_ERROR && (iError = WSAGetLastError()) != WSAEWOULDBLOCK)
                {
                wsprintf(szBuffer, TEXT("\r\nConnect() error.  %i"), iError );
                POSTBUFF;
                closesocket (sock);
                return 0;
                }
            else
                PostText (hMessages, "\r\nConnect() successful");