That's the thing about browsers -- they try to be as efficient as possible. If you are loading a graphic file from the same site that has the same name, it will load it from the user's cache to make the page load faster.
You have a couple of options. First of all, you could make the background color transparent, put the image in a table cell, and change the background color of the cell. If the image is too complex for that, you could give it a different name every time you create the image, so that the user is forced to load it each time. It's not as efficient, but it will do what you are trying to do.
My suggestion would be to come up with some other way of showing the user he's on a new page. Your method does not seem very efficient at all.