Domyśliłam się. To nie jest błąd w PHP (choć kiedyś tak było) - jest to błąd w niektórych wersjach phpmyadmina. Ten sam błąd sporadycznie pojawia się ponownie, a następnie jest naprawiany w różnych podwersjach (patrz wyżej):
#1312 - PROCEDURE [name] can't return a result set in the given context
To zachowanie wydaje się być ograniczone do wyrażeń SELECT w procedurach składowanych wewnątrz phpmyadmina .
Korzystanie z klienta takiego jak MySQL Workbench pozwala obejść ten problem (lub możesz zaktualizować phpmyadmina, ale jest to uciążliwe, jeśli jesteś na serwerze współdzielonym, tak jak ja).
W każdym razie dziękuję wszystkim za pomoc.