I wonder if I can jump in.
Essentially, the search engine's spider sees what the browser sees. Whatever techniques you use to generate content on the server, the browser ultimately receives an HTML file. It is that file that the spider indexes.
Or, to put it another way, if you were to view the page in the browser, and use the View Source feature to examine the page's source code, you would be seeing exactly what the spider sees (actually, that's not 100 percent right, but it's close enough for the purpose of this discussion).
Regarding the meta data, the first point is that keywords are completely irrelevant to SEO. In this context, when I say "keywords", I mean a <meta> tag with a "keywords" attribute. None of them major search engines look at that tag.
But it's a different story with a <meta> tag with a "Description" attribute. That doesn't have an effect in search engine ranking (at least, not in Google; it might with other engines). But it does influence the snippet text that searchers see in their results pages, and for that reason it is important to get it right.
What you should aim to do is to make each description as relevant as possible to the page in question - not to the site as a whole. Remember, each page is indexed independently, so the description on one page has no relevance to any other page.
You asked if you should put keywords for the entire site in index.htm. As stated above, keywords are irrelevant. But even if you read "description" for "keywords", the answer is still no. Index.htm (or any other file used as a home page) has no special significance in this regard. As far as the search engine is concerned, it's just another page on your site. In fact, in many cases, it's not a particularly important page from the search point-of-view, as it's often not the page that contains the information the searcher ultimately needs.
I hope this helps. Let me know if anything needs clarifying.