No, I think Hejlsberg knew perfectly well that he shouldn't attempt to do "GUI for C++". Borland tried it. The end result was, and is, terrible, and the sheer awkwardness of C++Builder was not really a matter of design or implementation, but due to the nature of C++ itself.
Delphi worked because they could control the language and mould it to fit the requirements of the VCL and of the IDE. With C++Builder, they had to introduce special proprietary extensions to C++ (which may have been, like Qt, implemented using macros internally, I don't know) such as "__published" and "__closure". Another factor was that Delphi's fast one-pass compiler allowed incredibly fast GUI-development; the "modify, compile, run" cycle could take literally seconds. C++Builder's use of C++ meant this cycle slowed down tremendously, even with tricks such as pre-compiled headers. C++ had other problems. It just wasn't a good idea.
Hejlsberg's C#/.NET design was necessary, although I agree with your other assertions. As far as I know, .NET was never able to replicate Delphi's genius, and a one-platform, proprietary language was a bad idea even back then.