Andrew - would you have time to make these changes to your local instance of ACS 4.2 Classic and let us know if doing so causes your cursor leak problem to go away?Since cleaning up the my cursors in site-wide-search and acs-content-repository, I've now done a fair amount of letting static-pages loading big blobs in and out of the CR and the like, and I haven't seen the maximum open cursors exceeded error come back. I still tend see rather large numbers of usually inactive cursors hanging around, so I suspect there's more of this bug in the other ACS packages. But coincidence or not, I haven't had it bite me again, after I cleaned up those two packages.
As for when cursors get closed, I always assumed that if you ever explicitly open a cursor in Oracle (as opposed to using a cursor for loop, for instance), then the only way it's ever going to get closed is if you manually close it, or if the client program (AOLserver, sqlplus) terminates its connection. But does that mesh with the behavior you guys have seen in practice?