Eu penso que as 3 infos Críticas e necessárias para palpitar em cima e que vc não dá seriam :
a) as mensagens EXATAS e o Comportamentos de erro que acontecem b) confirmar se a conexão que o aplicativo abre é DEDICADA ou SHARED, e se há algum tipo de pool de conexão envolvido c) detalhamento do middleware e do método de conexão ao banco envolvido, incluindo versões (do middleware, dos drivers, etc) E um curtíssimo exemplo de conexão tal como a que o programa faz Com esse retorno dá pra dizer algo mais concreto, mas de cara posso dizer que se é um erro que só ocorre fora da aplicação, pra mim : OU existe alguma tela da aplicação que faz algo (exemplo, sinalizar uma variável global) que força a lógica a cair num IF que quando vc executa pela tool cliente não é ativado, OU alguma tela anterior da aplicação tá fazendo alguma coisa errada e o erro tá estourando na tela que chama a tal rotina, (aí tal erro não ocorre quando vc chama a rotina numa tool cliente), OU há algum bug no middleware e/ou nos drivers/código da Aplicação (digamos, incompatibilidade de tratamento/datatypes,retorno, etc que a tool cliente não tem mas a aplicação tem), ou derivações... Manda a informação, e depois se ninguém que programe/conheça vb puder dizer nada, aí é mesmo um trabalho de DEBUG, mesmo... []s Chiappa