Jorge, obrigado pelo comentário, seu raciocínio está perfeito, é exatamente isso o que eu também esperava que aconteceria. Como não obtive resposta aqui, resolvi montar uma VM de compilação do ACBr, com delphi e tudo mais para dar uma olhada em como o programa funciona. De fato, não funciona do modo que pensamos, o programa tem uma variável global para a conexão e a cada novo "connect", ele substitui esta variável.
Não trabalho (mais) com o delphi e não conheço bem o Indy (que tive que atualizar para a versão 10) então não sei se há uma solução mais elegante nele mesmo (e suponho que haja, já que o componente TIdTCPServer deles me pareceu ser um componente bem completo) mas criar uma solução em que haja uma lista de conexões não me parece muito complexo. O problema é saber se o resto do código é thread-safe, podem haver outras armadilhas ali e por isso o programador do monitor decidiu manter apenas 1 conexão.
leo