Olá,
Perda de conexão é muito complicado, pois a causa pode ser um monte de coisas. Você trocou os cabos e o hub, mas verificou como está as suas placas de rede? Elas estão trabalhando na velocidade certa de transmissão (10 ou 100 Mbps)? Além disso, verifique o excesso de programas sendo executados em segundo plano, aqueles ícones que aparecem ao lado do relógio, quanto mais ícones, mais programas rodando de foma desnecessária, e em resumo, mais perde de tempo do processador, levando o micro a lentidão, que pode ocasionar uma desconexão, principalmente no micro que armazena o banco e o programa. Alguns usuários colocam tantos programas em segundo plano que a barra do Windows parece um álbum de figurinhas.
observe se há muita variação elétrica (picos de tensão ou mesmo baixa de energia) em casos como esse é recomendável colocar no-breaks em CADA máquina, não adianta colocar apenas o micro que armazena o programa e o BD, pois as outras máquinas podem cair e mandar lixo para dentro do banco.
Sempre que possível, nos seus programas, evite usar o DataControl ou o ADODC, prefira fazer a conexão via código e use transações em suas rotinas de gravação ou exclusão. Desta forma você ajuda a proteger mais o seu banco de dados.
Sempre que terminar de usar um recordset, destrua a referência a ele de memória:
Set RS = Nothing
Isso elimina qualquer vínculo ainda existente com o banco (exceto a conexão padrão) quando não for mais necessário o acesso a alguma tabela.
Um abraço,
Sandro.