Hi Chris,
This is known as a FOUC (
http://en.wikipedia.org/wiki/Flash_of_unstyled_content).
And you're right it's been in since the beginning. It's worse in some cases than in others, because what you're seeing is the page before the JavaScript is applied, then again after the JavaScript is applied.
It's probably possible to fix this by hiding the whole page until the JavaScript completes, and then unhiding it. Unfortunately this can have unwanted side-effects though as some JavaScript replies on things being "visible" in order to calculate their height & width etc.
The second side-effect is that the page appears to take longer to load - at least to the user. Allowing them to see the html as it arrives, and as the page is constructed, can be helpful in convincing them that "something is happening". Of course the effect is magnified on slow connections (especially if the JavaScript files are not yet in the cache). and it's also magnified if the JavaScript does intensive page layout work (like the NetWebYear stuff.)
While there's no perfectly "right" approach here it is something I try and investigate from time to time.
Cheers
Bruce