Your original solution will work fine, I suggest you use some url rewrites to achieve the impression that there are multiple event pages on the site. One simple way is to use an assembly called UrlRewriting.net http://www.urlrewriting.net/149/en/home.html this is a free URL rewriting module, this would enable you to map a url like: www.mysite.com/event1234.aspx to your dynamic url
www.mysite.com/event.aspx?eventid=1234
this is achieved by using regular expression filters in your web config file. Essentially you still only have the one dynamic page, but the search engines will see a single page for each event.
You could of course generate a static html page in code for each new event and save the file to your web server, but your application would need to have write access to the events folder.