I largely agree with you. If I "hate" C++ so much, why do I program in it? The answer is that sometimes I need my code to be very fast, and C++ has language features making abstraction easier than C or Fortran. I think the main reason people choose C instead of C++ is that it is common to overuse C++'s language features, and if you target C, this is impossible. Otherwise, just take "new" and "delete" and write the rest of your program in C...
Linus gives very good reasons for C vs. C++ here: http://thread.gmane.org/gmane.comp.version-control.git/57643...
I personally don't have anything against C++, it is a perfect solution for some problems, but sometimes C may be a better choice.