This is such a minor thing and I don't care if he broke the law. That law is a formality, such a high percentage of people smoke, even cops. Cops don't even care if they catch you with a small amount of weed unless they want to bust your balls. He didn't hurt anyone and if I were him, I would be upset that I didn't notice the person with the camera.
I havn't lost any respect for him or his hard work. He won several medals in 2004 and 2008, and he's going to win several more in 2012. And he's already made over $100 million in endorsements. This was just a college age kid at a college party doing what other kids that age do. If pictures were taken of the other 30 people that smoked from that bong that night, nobody would care.
This actually makes me appreciate Phelps more than I did before, because it shows me that he's a normal guy and not some swimming robot.