Capito. Questo non è un bug con PHP (sebbene lo fosse una volta) - è un bug in alcune versioni di phpmyadmin. Lo stesso bug riappare in modo intermittente e viene quindi corretto in varie sovversioni (vedi sopra):
#1312 - PROCEDURE [name] can't return a result set in the given context
Questo comportamento sembra limitato a istruzione SELECT all'interno di procedure memorizzate all'interno di phpmyadmin .
L'utilizzo di un client come MySQL Workbench risolve il problema (oppure potresti aggiornare phpmyadmin, ma è una seccatura se sei su un server condiviso come me).
Comunque, grazie a tutti per l'aiuto.