Indy TIdTCPClient.Disconnect Socket not detecting disconnect (8.0.22)

I have and ISAPI application that communicates with an external server via
Indy Client socket. The client talks to the server ok. Then the server
program shuts down for some reason and starts back up. When my client sends
more data to the server no error is issued. Only when I try to read
(ReadLn)a response from the server does it raise:

Exception: EIdSocketError
Message: Socket Error # 10053 Software caused connection abort.

From what I have read, I should be able to use CheckForDisconnect as in the
example below. However, no exception is raised in the code by the WriteLn or
the CheckForDisconnect.

with IndySocket do
    try
      WriteLn(s);
      CheckForDisconnect(True);
    except
      DisconnectSocket;
      Connect;
      WriteLn(s);
    end;

Delphi CS 5.01, Indy 8.0.22

Thanks,
kevin