Dziękuję JoshuaBoshi za odpowiedź, która rozwiązała problem. Po wywołaniu procedury musiałem zamknąć kursor i otworzyć go ponownie przed użyciem go do wykonania kolejnej instrukcji:
cursor.close()
cursor = connection.cursor()
Kursor można zamknąć natychmiast po fetchall() . Zestaw wyników nadal pozostaje i można go zapętlić.