Over the past few weeks I've coded my behavior tree combat system which makes some calls to FrameScript__GetText (not GetLocalisedText) and I'm still not banned and I had to re-inject and execute my code serveral times due to crashes, bugs and other developer stuff Since GetLocalisedText is "just a wrapper" for GetText, I dont think that Get*Text() is the detection vector in any way.
In my opinion, it's more likely that most players just got reported and blizzard should have access to any combat- and actionlogs for any player.
Pirox actually used SendChatMessage to a private channel to share archaelogy positions across all players on a realm. Since those message have to pass the blizzard server, it was kinda simple to detect players using Pirox. Just ban everyone entering/writing in that channel