Well, I don't know if it had cursors open in that moment, all I know is that it opened 2 (small) cursors, but I checked and the deallocate instruction was in the right place in the procedure. The first thing that comes to my mind is to get rid of the cursors, but I still can't get any sense out of this.
I've been working for many years with different versions of SQLServer and I never ran into this kind of problem.
-- Gianluca Sartori