To be honest, I think trying to make an image big enough to fit any viewport is a mistake. If possible, it's better to fade out the image at the edges so that it merges with the background color, as then you don't have to fret about the image's edge showing on wide screens, and don't force everyone else to download a much bigger image than they need.
When CSS3 is widely supported, life will be a lot nicer. Currently a few browsers support CSS3 background resizing, and there's a great article about it at A List Apart. As you see from the examples in this article, on supported browsers the image is full size, while on non-supporting browsers there is a tasteful background color to complement the image. From memory, I think their background image width is around 1280px, which is pretty fair.