Some of the issues with asking the same questions over and over are [...]
You're not wrong, but StackOverflow's methodology for handling this problem proved (in hindsight) to be inadequate, because it maintained the experience quality for established users at the expense of new users, and a site like StackOverflow needs both kinds of users to thrive.
A better mechanism might have been to allow repetitive newbie questions, allow people to answer them as well as they care to, and then have an asynchronous "garbage collection" background process (either human-based or automated) that digests the redundant newbie questions into improvements on the canonical ones, and/or collates them into a second tier of non-canonical questions that are deprioritized in the search results. That way the newbies get the help they are looking for ASAP (which is what will bring them back) rather than the pain of rejection, while the experienced users get a well-organized, non-redundant site experience (ditto).