Saying anyone 'should' have won is only ever going to be stupid. Senna 'should' have won more championships. Perhaps Barrichello 'should' have won in 2002, he finished second, so if we just eliminate Michael, he'd have won right?
The person who deserved to win is the one who won because they're the one that actually won, they crossed the line first having obeyed all the rules. That's who 'should' win.
The F2004 is the class of the field, and has proven to be so in practically any conditions you can conceive.