As I understand it, it applies to all search result pages.
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 don't really understand this. When the adsense spider visits a search engine page surely it doesn't enter anything in the search box. I presume it would just follow the 'search' link and gets the blank search results page.
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.
cpnmm, I don't think the Adsense bot spiders in the traditional sense.
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.