Nur mal ne blöde Frage:
Bist du sicher, dass der Cursor in der Programmkette eindeutig ist?
Wenn der selbe Cursorname wieder verwendet wird, scheitert der Open aber der Close nicht.
Im Debugmodus solltes du da Hinweise finden können.