If C had originally been designed with a proper String data type to begin with, then none of these bugs would have ever happened

Baah. That is like saying assembly should have a proper string data type. Different languages are designed for different situations and types of programmers. If a programmer can't deal with their buffers properly they should be programming in a language that handles those details for them (java for example). This bug should be blamed on the appropriate party, MS. You can't blame the language for bad programming or bad QA. C is meant to be relatively lightweight and fast, if MS can't handle the tradeoffs of speed vs ease of programming that is their problem not the language designers.

-Mike
_________________________
EmpMenuX - ext3 filesystem - Empeg iTunes integration