A.) Your implication it's that rare is false, in fact, these are so hard to detect historically that we missed the single largest extinction event induced by an object from space since the dinosaurs caught the hard goodbye until 2007, and we're still putting the pieces together on that one. Sure, that was 12k years ago, but we know that roughly 100 years ago Tunguska happened, which had it happened over moscow rather than siberia, you'd have millions dead, not just millions of trees broken like twigs.
B.) The budget is the problem. But you are correct, we will never catch everything...it would be nice to put 300 million towards it instead of throwing a paltry 30 million bucks at it to detect less than 1 percent of the estimated amount of dangerous near earth objects. Realistically, we should be investing billions yearly to deal with near earth space, not the 30 million dollars it costs to run a McDonalds for 1 year.