Existem várias situações possíveis de Erro de TimeOut... e realmente o Sistema Operacional, pode interferir...
Verifique ainda a propriedade TimeOutPorThread, na qual o próprio ACBR irá abandonar a conexão, quando o TimeOut ocorrer...
Mas pelo que você descreveu.. você não está tratando corretamente as situações de TimeOut... e acionamento de Off-line
O fato do TimeOut ocorrer, não significa que o XML não foi entregue ao servidor... a lentidão poderia esta no caminho da resposta do XML, por exemplo...
Sempre que houver erro de TimeOut... você PRECISA consultar no SEFAZ, o Status do documento onde ocorreu o TimeOut...
Se ele existir no SEFAZ, você deve cancelar, pois essa Nota já foi tributada, pela nota emitida em contingência...
Aqui há uma coletânea de tópicos e vídeos, sobre esse assunto: