El problema es que los procedimientos almacenados en realidad no devuelven la salida directamente. Pueden ejecutar instrucciones de selección dentro del script, pero no tienen valor de retorno.
MySQL llama a procedimientos almacenados a través de CALL StoredProcedureName();
Y no puede dirigir esa salida a nada, ya que no devuelven nada (a diferencia de una función).