I have also observed people who write good C code getting careless when given C++ and making dumb mistakes they wouldn't make in C. I've thought about it and tried to understand it a lot, because I'm one of the people who makes dumb mistakes more easily in C++.
C has semantics that are simple enough to be ... relaxing? I don't know if relaxing is the right word, but in C it causes me no stress to understand everything the statements are doing. At least I won't often think a statement does something and then realize it's doing something else.
And in C++ it's more effort. Not impossible, or even really hard, but more effort. Staying aware of all the overloads and knowing exactly which overload I'm calling, knowing which effect is had by a keyword that means one of three or five different things depending on where it's encountered, etc. One thing that bites me again and again is getting callbacks and code that's going to get stuck into some template expansions right so that the situation when the callback happens, or the scope where the template is expanded, is exactly what it needs to be to be bugfree. There's just a lot more stuff in C++ that looks *almost* alike but does something subtly different or gets inserted as raw code in a dozen contexts that you aren't thinking about all of when you write it. So C++, for me at least, requires a higher level of mental focus to write well in.
It's lame, but I find that my ability to code well just doesn't last as many hours in C++ as it does in C. If my time is taken up with meetings or some other non-flowstate activity, and I have 2 hours a day to actually code? Then C++ is more productive. But If I can focus on code all day long? My brain will stop sorting all the stuff it needs to sort in C++ after about three hours and then I'll be useless for coding in any language. In C I can maintain flow state for six or even ten hours at a stretch, and if I actually have more than, say, four hours a day for writing code, then in the long run I get more done (and done correctly) in C than in C++.
I used to think this effect would go away as I got used to C++ but it hasn't.