Isso não é um bug, mas explicitamente mencionado na documentação do Oracle ODP.Net. Em uma classe OracleCommand, os parâmetros são vinculados por posição como padrão. Se você deseja vincular por nome, defina a propriedade
cmd.BindByName = true;
explicitamente. Referência à documentação do Oracle.http://download.oracle.com/docs/cd/E11882_01/win.112/e12249/OracleCommandClass.htm#i997666