There is no such book that WOULDN'T suck. Its the nature of "for dummies" or any similar titles that try and condense a very complex subject down into a small book to be wrong. You just cannot cover all the necessary information in such a book.
It is not my fault that C for dummies isn't written correctly, perhaps we should write "C For Dummies which Moves to C++, The Book That Doesn't SUCK".
Here you're speaking of language paradigms, and while I do agree that C++ has many different paradigms, C# ALSO has different paradigms available. You can write C# using functional paradigms as well, its not a strictly class based language. You could do it in a procedural manner too, although that's a bit of a hassle.
The thing about C/C++ is basically similar to Perl. You can write things so many different ways that there is "no" best way. C# and the other languages propose coding standards beyond just a "language".
No, the C# language is no where near as complex as the C++ language. Just as an example, you can implement a full C# parser that's an LL(k) or LARL parser. Good luck trying to do this with the C++ language. Furthermore, the C++ language has huge amounts of undefined behavior implicit in many of its most basic operations, C# is quite well defined in almost all areas. I could go on.
C# is every bit as complicated as C++ in most ways, as a language, only the support libraries and implied coding standard really make a difference
The .Net framework is a significantly more complete framework than what you will get with any general C++ compiler. More importantly though, the libraries all make sense, being a unified API. Whereas with C++ you may have a dozen or more different APIs and libraries you interface with to do the same thing, each with their own unique style of naming syntax, scoping, macros, enumerations, etc.
So, with C#, I'm not really sure how C/C++ is really that much more complicated? The things which usually throw nubes are duplicated in C# in terms of the basic language, What is different is availability of support libraries, standard naming conventions, and all sorts of other things you have to go find/link into a C++ program.