On this site (code-review), the best questions sometimes contain the worst possible code. I'm not the only one who noticed this. On any other code-related SE site, questions with code that causes puppies to cry, and babies to cringe, down-voting is a good way of notifying other users to "not bother", given that the question is too broad, the OP did not put in any effort, or the code is just so terrible it can't be fixed.
But this site is about reviewing code. A bad question is either: off-topic (contains syntax errors, or is broken), or contains nothing but pristine code. The latter is unlikely to be down-voted. Quite the opposite: I think most of us would be thankful to see a piece of glistening code-perfection, and would upvote. Perhaps leaving a comment saying there's nothing to add to the code.
In the other case, the question will be closed quite quickly, and the poster will be notified that CR only deals with working code.
So how about up-votes? Well, on SO or programmersexchange, I can understand that asking a specific question about some specific coding-related difficulty is contributing to the site. And therefore, up-voting questions (and granting the asker reputation) makes sense. But people who get reputation for submitting code, so that we can review it don't really contribute to the system. They are getting their code reviewed, but they don't contribute much content in itself.
I know my wording is a tad harsh, but I hope you understand what I mean. Submitting code for review is not the easiest thing to do. Code-review can, and IMO should be harsh. Nonetheless, gaining rep for posting bad code isn't how the whole rep-privileges system should work. When I first became active on SO, I looked up to high-rep users, as people who knew their stuff. Someone with 3k rep, but who did not review any code, can draw on false authority when interacting with low-rep users. Sure, we can flag/contradict such comments, but that'll give the mods more work, and blow up the review queue's.
At first glance, I noticed that questions with verbose answers that reviewed the code in detail often end up getting a lot more up-votes that questions that weren't reviewed as extensively. Probably because users who stumbled on the question found the reviews helpful and wanted to thank both the reviewer and the poster for the info they got.
That means that, basically, the worse the code you submit for review, the more upvotes you'll get, and eventually: the more rep you gather.
In essence: I think down-voting questions is quite pointless, and up-voting questions with bad code because they got an extensive review is a bit "twisted". Users who post 10 pieces of bad code can end up with more rep than a user who reviewed 1 of those questions. In my mind, this is wrong: the person reviewing that one question is more deserving of reputation-related rewards.
So my suggestion is: do away with voting on questions entirely for this site, so that the only way to gain/loose rep is doing the actual work this site is about: reviewing code. Only by reviewing (= contributing), you can climb the privilege ladder.