Il participe aux Jeux olympiques de 1988 à Séoul où il obtient une médaille d'argent avec un lancer de 22,39 mètres derrière l'Allemand de l'Est Ulf Timmermann. Lors de la saison hivernale suivante, il établit un nouveau record du monde en salle avec 22,66 mètres.
En , il bat le record du monde de Timmermann. La même année, il est suspendu pour 27 mois à la suite d'un contrôle positif à la méthyltestostérone
, un stéroïde, contrôle effectué à Malmö en août. Cette suspension le prive des mondiaux de Tokyo et des jeux de Barcelone.
Il est de nouveau rattrapé par les instances internationales pour usage de produit dopant. Il est testé positif à l'androstènedione, supplément alimentaire très connu, en particulier en raison de son usage par le joueur de baseballMark McGwire. Son utilisation est interdite en athlétisme. Barnes basa sa défense sur l'ignorance de ce fait, mais cela ne fut pas suffisant pour l'empêcher de se voir suspendre à vie de toute compétition.