se hai una variabile di output devi ovviamente creare un parameter in output da .net, altrimenti non riesci a recuperare il risultato.
cosa usi per connetterti al db/creare parametri? per oracle l'ideale è usare l'oracle client.net, da installare sul server. in caso contrario preparati a piangere per recuperare qualcosa di diverso da un intero (ci sono parecchi problemi nelle definizioni dei parametri senza un client adeguato, figurarsi di un recordset).
quella stored procedure sei proprio sicuro che funzioni?? a me lascia un po' perplesso (ma non ho un server oracle dove provarla al momento). ti conviene crearti uno script plsql per testarla e assicurarti che faccia quel che deve prima di impazzire dietro al codice .net