It's my understanding that if a major search engine sees text the same color as your background color (i.e. making the text invisible) it will ignore those words and possibly penalize your page. It's better to stick the keywords in image ALT tags which the engines will recognize. Engines will also penalize for overuse of keywords in proportion to your page's overall text, so don't overdo it.
>On a page that does have a lot of images, can you create a layer with text and keywords on it, then keep that layer invisible. Would the search engines see the text?