It certainly needs to be re-evaluated and I think we should give a lot less foreign aid, but some of it is actually spent in our national interests. The problem is that we don't attach enough strings to it, or cut it off immediately when the foreign country stops being grateful.
I like Rush Limbaugh's standard, which he gave on Monday:
Any country receiving aid must have a five-year track record of supporting and speaking positively about the United States. Every time a country fails this litmus test, the term starts over. In other words, that country would have to have five years of support and positive comments about the United States before they would be considered again for aid.