I am using a modification of the list_mc_hbonds.py script from Robert L. Campbell http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/
The code relies on the find_pairs command http://www.pymolwiki.org/index.php/Find_pairs to detects hydrogen bonds. The find_pairs function seems to do exactly what I want. Using the parameters cutoff=3.5, and angle=40. The results are virtually the same than the results provided by What-If. But, what exactly means the angle parameter? I guess is something like a cut-off compared to some ideal hydrogen bond
angle... maybe the angle defined by the aceptor-donor-hydrogen atoms...
but I am just guessing.