I love Google Sites. They are easy to use and infinitely flexible. My district recently adopted Google Apps for Education and I have created and/or worked on more of them than I can count. I love how adding a background image to the header can make even sites using the same template look very different. Usually, everything works as it should.
Strangely, in the past two weeks, I ran across the same problem on three different Google sites. We had beautiful header images for them, but every time we changed the title font or made any of a number of other changes to the site colors, themes, and fonts, the header image disappeared upon saving and we had to reupload it. Again. And again. And again.
It turns out that the reason is that the filename for each of those images had spaces in it. Renaming them and then reuploading solved the issue. So, if you find your header image disappearing, try making the spaces in the filename disappear instead.