Dann liegts ggf. an der Prozedurdefinition.
Der Optimizer muss auch bei Prozeduren erkennen können, ob sich ein Aufruf lohnt (deterministic).
Ist die Definition so, dass bei gleichen Parametern das gleiche Ergebnis geliefert wird, spart sich SQL normalerweise den Aufruf und nimmt das Ergebnis des letzten.
Dies führt dann halt zu Problemen.
"not determinstic" sollte das Problem lösen, so dass wenigstens die Prozedur aufgerufen wird.

Die Prozedur sollte aber auf jeden Fall (so hats nicht den Anschein) einen Cursor liefern, auch wenn keine Daten ermittelbar sind.
Vielleicht liegt hier ja der Designfehler.

Die Prozedur soll ein Resultset liefern (ggf. auch leer), tuts aber nicht !