Grande Paulo!
É possível que o Provider OLE-DB esteja montando um SQL dinâmico para passar para SQL Server. Um SQL dinâmico poderia estar sendo executado através da Stored Procedure "sp_executesql".
Você consegue ver isso através do SQL Profiler. Se você constatar o uso dessa SP por parte do OLE-DB provider, pode contar que este é o problema.
Ocorre que a execução da cláusula enviada pelo sp_executesql executa em coutro contexto, diferente daquele que existia quando o seu comando de inclusão foi rodado. Isso, obviamente, invalida o uso de SCOPE_IDENTITY().
Já tive este tipo de problema mesmo em SPs escritas por mim ou por colegas, onde não considerávamos essa troca de contexto e perdíamos referências para variáveis locais, por exemplo.
Um abraço!