I couldn't decide if this question was more about CSS or more about SEO.
If I use a "span" on one of my headings and then hide the text with "display:none" and instead have a background image show up that has the exact same text on it to display instead, will this look bad in the search engines eyes?
By doing this it allows me to keep a H1,H2 etc heading but still use a different color/design and font that might not be on the users computer for more visual appeal.
you don't absolutely need the span, you could use a large negative text-indent instead of the display:none, to do the image replacement.
Replacing text with image based text isn't the friendliest thing to do to those who need to increase font size in order to be able to read it (I've seen 21" monitors with just one word on it at a time used by a colleague ...)
font availability can to some extend be caught by allowing giving a long list of fonts in the font-family, sure it won't look the same everywhere, but you won't full and complete control anyway.
From a SEO perspective: As long as the replaced images say the same as the text that is replaced, a manual review should not land you in trouble. But I've seen a few instances where e.g. googlebot fetched my CSS ... But I think that's better suited for the SEO folks to look at in all honesty.
Yes, I think I wont do the image replacement. It just seemed easier to align the text inside the image going with an image replacement. Because I keep ending up with small differences in position of the text on the background image in IE and FF.