Zonan, there's a real good book called "COM and DCOM" by Roger Sessions that makes a good argument for including COM in the Java language, but once MS lost the law suit, the point of the book was kind of moot. But now that C# is here, it may have meaning again.
I use whatever the customer specifies too (I have to), which of late, has been whatever I want to use. So I choose Borland C++ Builder as often as I'm allowed.
They want C++, but when I tell them it will take so many additional hours to use VC++/MFC because MFC is such as low-level framework (as well as a hack), they almost always take my suggestion and go with Builder.
Delphi is good too, but if they want C++, Builder is the way to go. Plus I can entice them with a mostly painless port to Linux in the future, and that usually seals the deal.