Do I need a global.asax and what is it for?
Unless you plan to have nothing but static pages, then yes. You will need a global.asax. This file is launched when the application starts up in IS as well as when a new session is started. There are associated events that can be handled in this class as well. So when you application starts, you will want to define your connection string information there..this way it is only created once versus for each session (each visitor) that gets started.
If it is necessary, should it have been added when I created the project?
There was a bug in the template until 1.6.5 that did not include the global.asax file...this has been fixed.
Lastly, if I add one, will that take care of my DataSourceKey error?
Yes...you have to define your connection and this is the only place that you should really do this on a web application.