I think the bans are all server-side, not client side detection. There's always going to be bans because a bot doesn't play the same way a human would. I remember reading somewhere that Path of Exile doesn't even have any protection like Warden, so GGG has zero ability to detect if you're running a bot program. What they can see is if you're on 24/7, if you're farming the same zone over and over, if you engage in obvious RMT transactions, etc.
Pretty much this.
GGG doesn't seem to invest in detecting bots by seeing what's in the process, and what's reading/writing memory. Instead, they have a much better (credit where credit is due) way of detecting bots. There are little intricacies with PoE that normal human players never realize, but a bot will always get hung up on. For example; the reasons for the massive bans when we first released, was simply due to how we handled input. The bot was doing things normal players couldn't. GGG can easily detect that (on the server side). Since then, we've completely changed how we do things, to avoid that entirely. However, the drawback with this method, is all those little nuances, are now blatantly apparent when the bot gets hung up on them.
All of our bots (with the exclusion of one, mainly due to pretty much how the game works), are written with the intention that the community will want to change things. We expose just about everything in all our bots. If you don't like the way your character fights monsters, you're more than welcome (and encouraged) to write a custom combat routine to have the bot fight the way you want it to. If you want to change how the bot picks things up, or what it picks up, you're free to do that as well. (Currently, the system for overriding the item pickups isn't quite done. But it will be soon.)
The only thing users really have no "say" in, is after a patch (while we update the bots), and certain other things. (Mainly related to user security, and our own security)
That said, if you don't like the way EB does something, change it! It requires a bit of C# knowledge, but we try to keep our API as "simple" as possible in most cases, to make adding things easier. (Plus, I believe everybody should have at least some knowledge of programming, just as a general rule!)