On Windows, Borland was always late with SDK support so we were forced to write our own wrappers. I gave up by Delphi 1.0, after being mainly focused on Turbo Pascal since the 5.5 version.
Regarding Kylix, I would say it was badly managed from the start.
So yeah, eventually the way out for better Windows support was C++/MFC, as even Borland's C++ compilers had their own set of issues.
But, this is a big but, if Borland managed to push Delphi the same way Sun pushed Java, then I think the mindshare story would be quite different.
A memory safe programming language, with RAD tooling support, capable of system programming tasks with native executables.
If Borland hadn't mismanaged everything the way they did in the mid-90's, maybe C and C++ wouldn't have the spotlight they enjoy nowadays.