Mysql позволява до 255 рекурсии в ПРОЦЕДУРА, ако зададете max_sp_recursion_depth.
Това е рисковано, защото има шанс необходимата дълбочина на рекурсия да надхвърли 255 някъде в бъдеще.
Така че е по-добре да замените функцията си с процедура, като използвате INOUT променлива за return_result.