Вероятно, рекурсия в хранимых подпрограммах не рекомендуется, поскольку MySQL необходимо ограничить размер стека своих потоков.
MySQL обычно использует один поток на соединение. 100 или 1000 соединений являются общими.
На 32-разрядных платформах при работе с 1000 потоков существует значительное давление в адресном пространстве, поэтому стеки должны быть очень маленькими, чтобы избежать исчерпания адресного пространства.
Переполнение стека, конечно, очень плохо - его нельзя безопасно восстановить. Поэтому я думаю, что MySQL делает это для предотвращения переполнения стека, особенно на 32-битных платформах.
Тем не менее, любой, кто сейчас использует 32-битную ОС для производственного сервера MySQL, безумен.