i've found that it's the least stress to wait it out. for both you and your son. i think it's important to always be encouraging, never sound like your scolding him, and make it a teaching experience for you and a learning experience for him.
did he ever get that toy he picked out? if so, how come since it sounds like he didn't accomplish his task. my turned 3y/o last april took the longest to potty train. simply because her desire to control the situation.
she even got to the point where she would just sit in her pee or poop. that left her with a bad yeast infection. i finally said enough is enough. we happened to be on vacation. i didn't have my anti-yeast cream with me. i told her that she needed to wear panties so that her owies would get better--to keep the moisture away. it worked, and she got the prize we had discussed months before.
pooping is still a little bit of an issue. we would put a diaper on at night "just in case" she caught on and would ask for a diaper "just in case" and prefer not to tell anyone she needed to pee or poop. i took the diaper away at night. at first she would fall asleep with panties and then my husband or i would put a diaper on her. sometimes she would feel it in the morning and would pee in it in the morning. i decided to get a cloth diaper for her. since it was cloth we told her it was a panty. she still doesn't know that it'll hold like a diaper. :)
we tried very hard not to make her feel bad for any accidents because we wanted her to continue to tell us of them. we really feel that positive reinforcement is more effective than punishment for unwanted behavior. But she's 3. She's still trying to figure out what her body is doing and how to control it.
hope this helps and good luck.