A causa raiz não foi PHP, nem freetds, nem qualquer configuração do sistema * NIX. O bem documentado /etc/freetds/locales.conf
para definir o formato datetime funciona bem.
MAS PARA O DRIVER FREETDS INTERPRETAR DATAS NO FORMATO ESPECIFICADO, VOCÊ NÃO DEVE CODIFICAR-SE COMO UMA CADEIA DE CARACTERES NA SUA CONSULTA
Como você pode ver acima na minha pergunta, o valor para o campo do tipo datetime é colocado entre aspas simples / carrapatos. Dessa forma, o FreeTDS interpreta os dados como uma String (varchar para ser preciso) e apenas os transmite no SQL Server. É por isso que a consulta falha, porque o SQL Server não permite que varchars sejam inseridos em colunas datetime.
Por que exatamente a mesma consulta funcionou em uma versão do Ubuntu, mas a outra não está além da minha compreensão.
tl; dr Não use aspas em torno dos valores de data e hora em suas consultas. Demorei apenas 3 meses para perceber:)