Hi dave ,
i agree with you, I dont tell C is not useful but from my 10 yrs exp in this field i have seen many people with 3 to 4 or 5 yrs experience, and also handle around 300 programmers under me, who are no doubt very good programmers by using internal libraries, they add header files given by vendor, but if request to change the startup code they fail to do it as per my requirement as it is written in asm and dont have architecture knowledge. Even at debugging stage, when things dont work as per the program they dont know to debug it at hardware or software level, they debug it at C program level and fail to bring any solution and i take 1/10th of the time that they take by debugging the problem at asm level, not from experience, but with asm knowledge. but u can still survive without knowledge of asm. i agree with you.
You can become a good software engineer with C programmer, but will become expert Embedded engineer with both hardware, software( asm and C).