Finalmente consegui descobrir a causa do problema. Foi uma declaração de conexão para um banco de dados remoto no arquivo de modelo padrão do aplicativo web2py. Esta conexão de banco de dados não estava sendo usada no aplicativo em qualquer lugar. Mas como estava em um arquivo de modelo, sempre que uma função de controlador é chamada, o aplicativo tenta se conectar desnecessariamente a esse banco de dados remoto.
Inicialmente, adicionei pontos de registro em todos os lugares no aplicativo, mas não adicionei o arquivo de modelo padrão do aplicativo; Portanto, os logs ficaram em silêncio sobre a causa raiz. Então eu testei o aplicativo apenas substituindo o conteúdo da pasta do aplicativo um por um com os arquivos de um aplicativo de demonstração (que vem com o web2py) e ajudei a revelar a causa raiz do problema. A causa raiz foi então verificada adicionando o registro no início e no final dos arquivos de modelo padrão do aplicativo.