dynamic sites are only hard to index if they are not coded properly.
NEVER use "id" as a variable, google has declared that to be equal to a stop word when they see that in a string.
Make sure a search engine can crawl your site without a session setting/variable. That will stop it in it's tracks.
Also, use both a regular and Google sitemap - that way you ensure all your pages will be indexed.