I will say this much for Kauffman Stadium's decision to boo Robinson Cano, and in so doing create an inexplicably controversial 2012 Home Run Derby: They're right that Cano shouldn't have said he'd put Billy Butler into the derby.
Because Billy Butler isn't very good at hitting home runs. At 26, he's got a career high of 21 homers in a season. He'll probably top that this year--he's on pace for 31. But in a world where Adam Dunn, the patron saint of the Home Run Derby, is not participating for the AL squad, it's enough of a tragedy that they had to offer Cano a spot, let alone the Royals' doubles-hitting designated hitter.
I understand the desire to have a hometown hero in the lineup for every event, but the people in the crowd and in said hometown are a small subset of the All-Star Game's audience; you can only give them so much before you begin watering down the national product. In the future, if this is needlessly distended into an unwritten rule about the home team always geting a derby contestant, it shouldn't matter who their All-Star is; I'd happily watch Mike Moustakas and his crazy bat speed (and his 16 home runs) take a turn.