A ver... no entiendo una cosa...
Si eres capaz de haber instalado DBD::ODBC, en teoría no necesitarías instalar ningún módulo más. Solo configurar la conexión DSN.
Y si te funciona con ADO, no veo en ninguna parte de la documentación que sea necesario usar DBD::ODBC.
A lo mejor no me he dado cuenta, pero en el módulo pone:
An ADO ConnectionString usually contains either a 'Provider' or a 'File Name' argument. If you omit these arguments, Provider defaults to MSDASQL (Microsoft OLE DB Provider for ODBC). Therefore you can pass an ODBC connection string (with DSN or DSN-less) as valid ADO connection string.
If you use the OLE DB Provider for ODBC, it may be better to omit this additional layer and use DBD::ODBC with the ODBC driver.
que, entiendo, dice
Un ADO ConnectionString normalmente contiene tanto un argumento 'Proveedor' como 'Nombre de Fichero'. Si omites estos argumentos, el Proveedor será por defecto MSDASQL (Microsoft OLE DB Provider for ODBC). Por tanto puedes pasar una cadena de conexión ODBC (con DSN o DSN-less) como una cadena de conexión ADO válida.
Si usas el Proveedor OLE DB for ODBC, podría ser mejor omitir esta capa adicional y usar DBD::ODBC con el controlador ODBC.
Por lo demás, gracias por indicarnos los pasos necesarios. Los guardaremos como oro en paño.