Okay. I know this error happens when we don't close the connections / statements / resultsets properly
It also happens when you haven't allocate enough cursors in Oracle to support your app in the first place. I'd check that too.
You are able to get the session ID which is holding the cursor open through Oracle I think - you'd have to look this up in the docs though, because I can't remeber offhand how its done.
This might be a little after the fact I know, but a good DAO framework would help prevent this sort of error.