Yeah, unfortunately for everyone he was only warned on the worst of the interactions and given a second chance. Sometimes a ban on the first offense is better. Still, a ban after a failure to heed a warning seems completely reasonable. Heck, a re-evaluation of the original interaction with the knowledge of how he behaved after the warning would have worked too. But again, the important thing isn't where the ban happened, it's that the project rejected a bully.