The first thing I would do is reduce the image size and resolution. Large, high resolution images are of no practical use as headers. In fact, unless you want users to zoom in on an image, high resolution and large image file size is of no use at all.
It is very possible that you have a large image and have the image display configured to resize the image each time it is displayed. This takes a lot of browser processing time - even if the image is cached. So, it may not be a cache problem; it is likely an on-the-fly resizing problem.
My advice to anyone using images for display in a browser is: before uploading the image
a) Use a program like Photoshop to resize the image to the size you want in the browser.
b) Compress the image (jpg) to a value that still gives a sharp display (usually 65-75%)
Give that a try and see if it solves your problem.