Welcome to WebmasterWorld Guest from 126.96.36.199
I think its more a technical issue than anything else - Google physicaly spiders each Adsense page to determine page content. Since any search engine has effectivelty infinite pages this system would be highly inefficent for SERPs.
I've seen adsense on lots of sites with discussion forums. The ads have usually also appeared on the forum's results page and have usually contained results relevant to the search indicating that adsense can handle search results pretty well.
It would seem more likely that google does not want its ads used in search engines for commercial or other reasons.
When a page containing Adsense code is requested it "phones home" to tell Google what page it is running on. A little later the Adsense bot turns up to have a look at the page, after this the page has properly targeted ads (in theory at least :))
Since a SERP url is normally in the form: domain.com/search.cgi?q=anything+your+user+likes Google would have to be prepared to spider each query as a separate page.
There is a much easier way to generate search engine ads based on the keywords entered by the user - Adwords not Adsense. For their own reasons, as JollyK says, Google only offer Adwords partnerships to large volume search sites.