I'm torn here. It's hard to correct for bias. It would be like if a bank had a survey and had people rate their financial stability - but they had to have an account with the bank to participate in the survey. Wouldn't that bias the results in favor of financially responsible people?
I'd be interested how many 0 rep new accounts with lots of downvotes claimed high competence vs. established accounts. It could very well be that people with SO accounts who are willing to take the time for SO's survey are the type of people that are more competent on average than developers that don't have SO accounts and don't participate in surveys.