Hast Du den SQLCODE und/oder den SQLSTATE unmittelbar nach dem CLOSE und dem OPEN geprüft?
Ich könnte mir vorstellen, dass der CLOSE aus irgendeinem Grund nicht gemacht wird und deshalb auch der OPEN fehlschlägt und beim FETCH die nächsten Daten des Cursors liest.

Ansonsten müsste der explizite CLOSE greifen.

Birgitta