Sure, if you need optimize your code to run as fast as possible to run a real-time system or process a huge amount of data, C has less overhead than C++. But for most commercial software, what's far more important is development time (that's what costs companies tons of $$), not speed of execution. All the advantages of C++ make sharing code among teams faster and easier and results in better designed software (in general), because it allows you to hide the low-level implementation behind high-level abstractions. Sure, this has some overhead at run-time, but if you're part of a large development team writing a complicated piece of commercial software, the advantages of C++/C#/Java often justify the speed tradeoffs.
Besides, CPU speeds are so fast these days, unless you're dealing with large amounts of data (visualization, databases, etc) most of the time you wouldn't notice a difference at runtime (unless you're programming for a cell phone or other mobile device with limited processing power). I'm a virtual reality researcher, and we need to optimize our applications to run in real-time (at least 60 frames per second or users will experience simulator sickness). I use C++ and high-level API's like OpenSceneGraph. The bottleneck in our applications is never the CPU - it's the graphics processing on the GPU. And given that I'm often having new students working on these applications from year-to-year, the advantages of using high-level languages is well worth it - if we used just C and OpenGL, the learning curve would be too high for new students, and nothing would get done.