Whenever possible, use full color PNGs with 8bit transparency.
When displaying an animation or multi-state button as the background of a DIV, combine your multiple states into a single image, and change the background position to display the appropriate 'frame' as desired. This negates the need to preload, eliminating flicker between the states, and conveniently keeps the assets together.