Dobře, takže po dlouhém pátrání jsem našel řešení.
Původní kód používal ExecuteReader. Změnil jsem jej na spuštění ExecuteNonQuery.
Předávám stejné parametry a typy jako já (2 vstupy, 2 výstupy, z nichž jeden je řetězec, jeden rekurzor).
Když běží ExecuteNonQuery, vidím hodnotu 3. parametru (řetězec). pak udělám následující:
OracleDataReader dr = ((OracleRefCursor)pRefcursor.Value).GetDataReader();
Pak můžu dělat své obvyklé smyčky s dr! Šťastné dny!