I wouldn't tolerate an application that sets my Windows Theme as well, but Divil, I totally disagree with your point regarding the impossibility of changing default colors.
If some people are unable to design sweet interfaces, that's their problems.
In all my applications, I designed a look customisation...they start with the system colors and if they don't like it, they change it. ALL customers love to have such a feature in their programs.
Now, it hurts more than usual because my program have skins, depending on the customer profile.
And this weakness is really a pain.
I will have to load all my controls from classes to allow this customisation. For one last time, I totally disagree with your affirmation that fixed colors is a good way to prevent ugly layout, because, it has never been my case