I think there should be some formula to determine the overall winner. I think about the MN Open 2007 where Ravi "won" the competition, but Phil Thomas ended up taking first in all events besides the 3x3x3. I once suggested the following:
For each event, give the first place person 100 points and then give the others (up to some limit), a fraction of 100 based on their time in comparision with the first place person. So if 1st place is 10 seconds, and 2nd place is 15, and 3rd is 20, they would get 100, 67, and 50 points each for that event. Do that for all events and then just sum the point totals. I've seen people suggesting something like this before, but they always do it by the last place person, which leads to problems, because if the last place person has a very high time, then small differences won't matter much (image a Magic with 1s, 2s, and 10minutes).
anyway, it would be nice to have some common way of ranking competitors for the whole competition. For a small competition, it's easier to purchase medals for 1st through 8th, rather than 1st through 3rd for all events.
Of course, you'd still have to work out some issues with this, like trying to discourage people from entering all events just because they might be able to pick up an extra point or two. Perhaps it could even be done to discourage some people from entering an event they're really bad at if they want to avoid being ranked lower.