If you collect all your related sprites into a single image class-- or, alternatively, something like a "div#my-sprites-here a" construction --then you only have to name the background image once. This, in turn, means that if you rename the image you only have to change the text in one place. (And this, in turn, is a basic principle of stylesheets and almost everything else having to do with computers: If you have to say the exact same thing twice, you're saying it in the wrong place.)
If the new code is showing the old image, there are basically two explanations. One is that some of the old code hasn't been changed; see above. The other is that the old version is still in your browser's cache.
The universal Fix For What Ails You is to empty your browser's cache. And also always try the code in multiple browsers. If the problem crops up in a browser you haven't used since October of 2011, you can safely say the problem is in the code. If the problem only occurs in your current first-choice browser, the problem is in the browser.