Sorry for dragging this up...
I find that the service provided by ntl which blocks annonymous calls seems to work wonders.
To stop annonymous calls its *227#
and to re-allow them, its #227#
Theres some fandangled way of allowing certain people access on annonymous lines, if you know who they are and their number... but i've not sussed that out