How to ensure there are no pdb calls out of debugging configuration?
The third one. You have to enforce some commit rules. For example, run a serie of tests before a commit, etc. This way, developpers have a simple way to check if a pdb break remain. If someone commit a set_trace, he has to bake a cake for the rest of the team.
This works fine in my company :-)
edit: you may present this method to your boss as CDD (Cake Driven Developpement)
What do you suggest to get rid of pdb calls on production software?
In my case, I'm developing a django website. 
I don't know if I should:

Monkey patch pdb from settings.py (dependding on DEBUG boolean). 
Make a pdb wrapper for our project which expose set_trace or print basic log if DEBUG = True
Dissalow comitting brakpoints on git hooks... (if you think it's the best idea how would you do that?).