If you haven't done so, it would be worth checking whether this will work with all the different language and DATEFORMAT settings. (actually I suspect it will work but that initial date assignment line might be tricky for 'YMD' formats as it doesn't specify the date format for the conversion of string to date). I'd use..
--which specifies the US interpretation of the date.
Alternatively, you can get the same result without the procedure, and avoiding conversion issues, this way (I've done it so you can test against yours)...
[font="Courier New"]DECLARE @year INT =2015, @week INT =25
EXECUTE #usp_first_day_and_last_day_of_week @year,@week
SELECT DATEADD (DAY,-DATEPART(dw,start)+1, start) AS StartOfWeek,
DATEADD (DAY,7-DATEPART(dw,start), start) AS EndOfWeek
FROM (VALUES (DATEADD(WEEK,@week-1,(datefromparts(@year,1,1))))) f(Start)