Images don’t show up

Finally, I’ve got it!

Sniffing the HTTP resonses indicated that a few extra bytes were being inserted between the headers and body of the http response, resulting in bad image data.

Further investigation revealed that these characters represent a Unicode Byte Order Mark (BOM).

These, in turn, were caused by a Windows editor that saved wp-config.php with a UTF-8 encoding that includes the BOM. Re-saving the wp-config file using a editor (Notepad++) that can strip the BOM resolved the problem. The only additional requirement was to flush the browser cache to clear the bad response.

I hope this helps someone else who has a similar problem. It has taken me literally hours to fins the answer, but I’ve learned a lot on the way.