Passei muito tempo hoje depurando um problema semelhante. Eu havia definido a "versão TDS" no freetds.conf, mas não estava sendo usada na minha conexão ODBC. Depois de ler o código fonte do freetds (connectparams.c:odbc_parse_connect_string) descobri que:
- Se sua string de conexão usar "SERVER=", tanto freetds.conf quanto odbc.ini serão ignorados
- Se sua string de conexão usar "SERVERNAME=", as configurações no servidor freetds.conf apropriado serão usadas
- Se sua string de conexão usar "DSN=", as configurações no DSN odbc.ini apropriado serão usadas
odbcinst.ini é um arenque vermelho. O FreeTDS nunca verifica isso para configurações.
As configurações que você especifica na string de conexão são sempre respeitados. Também sempre respeita as variáveis de ambiente como TDSVER.