Although Google have now gone on record saying that they don't care about the keywords tag I just wanted to point out that the meta keywords contents should contain keywords separated by a comma rather than all in a single string.
So this (c# version):
// Define an HTML <meta> element that is useful for search engines.
hm1.Name = "keywords";
hm1.Content = "words that describe your web page";
head.Controls.Add(hm1);
Should be more like:
// Define an HTML <meta> element that is useful for search engines.
hm1.Name = "keywords";
hm1.Content = "words, that, describe, your, web, page";
head.Controls.Add(hm1);