I ran into a usage problem UIBarButtonItemwith custom color. Everything on the web seems to indicate that the only way to avoid this lack of official API support revolves around the use of images. All this is great and dandy when developing for devices up to iOS 4, except when using the new iPhone 4. Creating an image for iPad and pre-iOS 4 devices is quite simple, but images designed for these devices look absolutely terrible on iPhone 4. I I suspect that this problem will be further exacerbated by the introduction of next-generation devices.
Consider the example below. Note that the default color button is nice and smooth, but the iPhone 3GS looks awful. It does not seem very scalable (pun intended) to include multiple images for different resolution devices.

In the absence of an official color change API UIBarButtonItem, what strategies exist for creating images that scale well for different resolution devices? This issue is hardly unique to UIBarButtonItems, how does the community adapt to other raster UI elements? Is there a better solution for this particular case than using an image (for example, using Quartz to draw it)?
If at all possible, provide specific code examples.