Ho già dato credito alla risposta, ma penso che valga la pena menzionare qui esattamente quale fosse la radice dei miei problemi, nel caso qualcun altro trovi questo elemento mentre cerca una risposta al proprio problema.
Il problema è che l'implementazione in C# di query parametrizzate per Oracle contiene un bug serio e potenzialmente pericoloso, un vero e proprio "pozzo nel pubblico dominio":
Non importa come chiami i tuoi parametri; devono essere aggiunti nell'ordine in cui appaiono nella query.
Vedi di più qui .