No, I think my warnings were appropriate. I jumped straight from ClueBot NG's level 1 warning to a level 3, and then on to level 4. Any further disruptive edits would have resulted in an immediate block. Fortunately, the IP seems to have realised this, and stopped making disruptive edits, which is exactly the desired outcome. Histories aren't always reliable for IPs, given the existence of dynamic IPs and shared IPs (different pupils at the same school, for instance), so you can only really base warnings on very recent activity. In this case, I'd be pretty sure that the crayfish edits on the 14th and 15th of May are related, but I can't be so sure about the Prairie Dog edits on the 8th. Maybe it was the same person, maybe not; it doesn't really matter. Blocks are meant to be preventative, not punitive.