The banner images we already have use up several gigabytes of storage... adding more colors, designs or options would make that number grow substantially, so for now we'll have to stick to the 8 options that we have.
There are a lot more efficient ways to create these banners. You could create 1 background banner for each color and those would only take up a couple MB each. Then just overlay text onto it from the DB u guys have setup here.
That's exactly what we have. But the output of the script which overlays the text on the background is a banner - a PNG file - which the server caches for performance reasons. It takes a lot of server resources to generate a dynamic image -- if every request was generated on the fly, it would use too much CPU. So it's generated fresh if the cached version is more than 30 minutes old. It may be "inefficient" in terms of storage space, but it is very efficient in terms of CPU usage.
That only happens if you use a server-side scripting language. You can save space and CPU usage by using a client-side language, such as javascript, to overlay the info onto the background on the spot. This will greatly reduce the amount of space it needs, since you only need 1 png for each color, and CPU usage since all the effects are being rendered by the client, not the server.
You also wouldn't face the problem of having to re-render the image every 30 minutes. The only real stress that would put on the server would be getting the information about the Money they received and the offers completed, but that is a very low amount that can be handled by low end servers.
The banner is designed to be simple and flexible. You can place it on a webpage, and also in a comment or in a forum post. You can't say the same for a javascript-powered overlay. I also feel that a javascript version would lend itself to being modified more easily and thus could be faked. Finally, although most clients can handle javascript, there is a small proportion that cannot - why lose out on those potential customers?