IMNSHO, no. The only qualifiers I'd put on that are two.
First, if you do cross-platform work and want to have a codebase common to both, then its reasonable.
Second, if you are too lazy, untalented, or otherwise indisposed to learn the underlying technologies wrapped by class frameworks, e.g., COM, etc., but nontheless wish to use them, then you'll need a class framework, wizzards, etc., as a crutch, to help you pull off what you are attempting.
In terms of making one's own, it was doing exactly that which turned me off so badly regarding them. Because when you do that you see very clearly that you are adding nothing more than bulk to your code base, with no increase in functionality whatsoever. Everything soon becomes a wrapper on a wrapper on top of another wrapper.