apparte che non mi sembra affatto complicato
ed è il metodo più corretto e pulito

potresti provare ad utilizzare un recordset

nella stored procedure scrivi

codice:
select @result as Risultato
naturalmente dopo averlo valorizzato

e utilizzi un recordset

non sò se funziona io uso sempre i parametri