I am old enough to remember the U.S. leading a boycott of the Olympics in Moscow in 1980, and it did nothing politically. President Jimmy Carter initiated it to protest the Soviet invasion of Afghanistan, but what it mostly did was to upset ordinary Russians and the athletes who had trained hard for four years and were now denied the opportunity to compete. It also resulted in an Eastern Block boycott of the 1984 summer Olympics in Los Angeles. For more on this, read http://en.wikipedia.org/wiki/American-led_boycott_of_the_1980_Summer_Olympics in Wikipedia.
China does some bad things, but this is not the way to go about protesting them. It’s best to try to keep international politics out of the Olympics, IMO.
Bush not attending the opening ceremony, and a full American boycott of the games are two entirely different animals.
The Olympics were created by international politics for international politics.