Ok, dus na veel meer graven, vond ik de oplossing.
De originele code gebruikte ExecuteReader. Ik heb het gewijzigd om ExecuteNonQuery uit te voeren.
Ik geef dezelfde parameters en typen door als ik deed (2 ingangen, 2 uitgangen, waarvan één een string, één een refcursor).
Wanneer ExecuteNonQuery wordt uitgevoerd, kan ik de waarde van de 3e param (de string) zien. dan doe ik het volgende:
OracleDataReader dr = ((OracleRefCursor)pRefcursor.Value).GetDataReader();
Dan kan ik mijn gebruikelijke loops doen met de dr! Fijne dagen!