At least one Scheme implementation (Guile) had shared substrings. In fact, when I first added shared substring support to JavaScriptCore (WebKit's JavaScript implementation), I was inspired by the Guile feature.
I don't know if other Scheme implementations have chosen to optimize string manipulation, but they are certainly free to do so, and this is an issue of implementation, not spec.
It's like tail recursion elimination. It's a major gotcha unless written into the standard.
Unfortunately guile's performance in so many other areas is so bad that it's not really an alternative for some projects. It does have a lot of nice features not available in many of the major scheme implementations. But if you code to them, your code is no longer portable.
Does Scheme need anything else standardized?
You can get more information here: http://scheme-reports.org/
AFAICT r7rs will have two parts; a small core one (based on r5rs, with the additional features mentioned in the post), and a larger one building up something like a standard library (possibly including r6rs).