I would give him a good talking to, that's for sure, but I'd keep him. Why? Because he's a teenager, and hormones make people more emotional. Man, I remember what it was like to be that age--it makes you a crazy person.
He was trying to save his friend and protect the group; after he figured it out, he kept going because he was terrified of the bandits. It was incredibly naive, but it's not like he tried to kill Lee or something. As long as someone means well, I will keep them around, and just help them make less stupid decisions.
But really, all he did was hand over some hard drugs nobody needed anyway. Oxycontin is dangerously addictive--all this "what if Clem needed it, somebody's cutting our throats!" stuff from Lilly doesn't fly.
People give Ben a hard time, but instead of losing the people we did lose, we could've lost EVERYONE to the bandits. He kept them from hitting the group on a day the walkers weren't there to shake things up.
As far as I'm concerned, his only mistake was not telling the group what he was doing so they'd be prepared. Then again, since paranoid, unstable Lilly friggin' KILLS someone over it, maybe that wasn't a mistake at all. Maybe it was just survival instincts kicking in.
In the end, I am inclined to blame Lilly's intense overreaction for Katjaa and Duck dying, because I think Ben would've confessed if he wasn't so afraid of her. The group might've had time to prepare a defense or leave if he'd felt compelled to confess, but with her around, that wasn't going to happen.