Only Major League Baseball would take a bad rule and make it worse but that's what happened fourteen years ago. Previously, home-field advantage in the World Series was alternated between the two leagues, which was silly enough. But in the wake of the infamous tie in the 2002 All-Star Game, MLB and the MLBPA agreed for the ensuing two years that the winning league in that game would get that home-field advantage.
I understand the idea of wanting to crank up the meaning for the All-Star Game but this always was a silly way to do so. It wasn't that effective in preventing situations in which teams would have run out of players (see 2008) and more importantly, determining the home-field advantage for the World Series based off of the results of an exhibition game was pretty silly. The MLB All-Star Game was already the best of the all-star contests among the four major North American sports and it didn't need to tack on something of great importance, something that could help determine the winner of the World Series, on top of it.
What may be even more silly is the fact that it took until now for the home-field advantage to be determined by the team with the better record. Simply put, that's the best way to do it. It's not completely analogous but if it works in the NBA and in the NHL, why not for MLB? Yes, the schedules are not balanced and sometimes, records get juiced thanks to the quality of teams in their division but hey, that's baseball.
Now, players in the All-Star Game have the opportunity to play for a nice pool of money and who doesn't love that?