'echo' is a shell builtin. argv[] length restrictions only apply to exec. it's the same reason the script works, which uses more or less the same technique, only in a 'for' loop, which, is also builtin.
even if it were an issue.. say on a terminal without working scrollback.. you can just as easily:
Break it into tenths (ninths, maybe, with no leading zeroes?), or finer granularity if necessary.
The argument list isn't nearly as constrained as it was a decade ago. "echo {00000001..10000000}" works in bash on most modern distros where shells on earlier systems would have choked on a tiny ARG_MAX.
$