If anti-cheat through obscurity worked, there would be no cheaters. The fact that cheaters exist means it does not work.
There are certainly less cheaters than if there were no anti-cheat methods. To use OP's example, an open source urine testing procedure would be trivial to game. The same thing goes for open-source multiplayer games.