I am used to use a and a:hover tags with different images in order to achieve a rollover effect. A very simple example, no external css: http://www.nacencia.com/ie7/ In mozilla and IE6 it works great. In IE7 - it doesn't! Each time I move the mouse over the image it looks like it reloads again, and therefore it blinks. I found a solution in the level of the user, modifying the history option on the browser: of-course this solution is not good, since it depends on the user. Another option I found is to make one image with both normal and hover parts, and simply play with its position. You can see it here: http://www.nacencia.com/ie7/solution.htm but if there is another option I prefer not to get into this one. Thanks!!!
I was really struggling to get an image animating after a user sumbits a form, thats hard to do on IE7 as well. IE7 have some differences comparing to IE6.
"CSS Sprites" as they're called are the best way to go. Not only do they solve your immediate issue, they also result in less requests going to the HTTP server at any given time. It may seem like a tiny amount of requests, but those requests add up as the site gets larger. They're definately worth getting into.
And here's a link to a wonderful article (it's the Bible on CSS sprites) by Dave Shea over at A List Apart on the subject: http://www.alistapart.com/articles/sprites