UPDATE: Ok, I was able to debug this and found that the by doing this select @@max_sp_recursion_depth I can see that the variable is set at 15, however, when I run the call back to itself with CALL single_limb_portfolio_list(xaccount_id, xparent_portfolio_id); I get the error stating the Recursive Limit 0 was reached, but it never iterated over itself once'
When I run the recursive stored procedure below I keep getting the "Recursive Limit 0 was exceeded" even though I set it to be SET max_sp_recursion_depth = 15 ; 
Am I setting this variable in the wrong place? It's acting like it never gets set and always stays at zero?
Thanks in advance for your help.
Recursive Stored Procedure:
CREATE DEFINER=`aaron`@`localhost` PROCEDURE `single_limb_portfolio_list`(xaccount_id INT, IN portf_id_in INT, OUT str_portf_list VARCHAR(455))
BEGIN
    DECLARE xportfolio_ID INT DEFAULT NULL ;
    DECLARE xp_name INT DEFAULT NULL ;
    DECLARE xparent_portfolio_id INT DEFAULT NULL ;
    DECLARE xstr_list VARCHAR(455) ;
  SET max_sp_recursion_depth = 15 ;
    SELECT portfolio_id, p_name, parent_portfolio_id
    FROM portfolio
    WHERE account_id = xaccount_id
    AND archived = 0
    AND portfolio_id = portf_id_in
    INTO xportfolio_ID, xp_name, xparent_portfolio_id;
   IF xportfolio_ID IS NULL /* We have reached the top of the tree and there are no more parents for the portfolio list */
    THEN
    SET str_portf_list = xstr_list; #Set the full tree list to the variable that will be inserted as a row into the temp table previously created
   ELSE
    CALL single_limb_portfolio_list(xaccount_id, xparent_portfolio_id); #call the sproc with the next portfolio id to get the next parent id
    SET xstr_list = concat(xp_name,"->",xstr_list);   #Add the portfolio name to the overall portfolio list. Output like: "California -> Los Angelas"
   END IF;
END