It took me some time to get why this is faster than simply poking in a for-next loop - nice hack (for those who don't know I can recommend one of Ben Eater's latest BASIC hacking videos)!
But why add only 1 character each time, why not add the string to itself? That would grow it exponentially and would require much fewer steps. Or is string concatenation much slower than character concatenation?