"however, you have to append in increments with each increment less than or equal to 4000"
Not sure where that assumption is coming from. Seems incorrect to me too.
This incorrect assumption comes from a very comon mistake made when people write simple test code, e.g.
SET @TestVar = @TestVar + REPLICATE('x', 10000);
The 'x' is interpreted as varchar, not varchar(max), so the end result of the REPLICATE is a varchar(8000) value that will then be appended to @TestVar
You will not have this problem if you change the code to
SET @TestVar = @TestVar + REPLICATE(CAST('x' AS varchar(MAX)), 10000);
On the question - I seem to remember that the maximum string length displayed in SSMS is actually a configurable setting.