I have read plenty of articles (particularly on here) about Parameter Sniffing in Stored Procedures and ways to get around it. For example, here: http://elegantcode.com/2008/05/17/sql-parameter-sniffing-and-what-to-do-about-it/
Does the same apply to a stored procedure that is called by another stored procedure? i.e. does the solution described in the linked article also apply to nested stored procedure.
Also if you declare a variable called @PersonID in the calling stored procedure, can you decalre a variable called @PersonID in the called stored procedure i.e. DECLARE PersonID int. This would be variable shadowing.