AppStart is a Web Pages framework file that executes once when the application first starts just like Global.asax. I suspect it was designed specifically to shield beginners from all the events that Global.asax includes by default when that file is generated by Visual Studio/WebMatrix.
You can use Global.asax to hook into specific events to execute any code you like.
AppStart is designed more for simple things like initialising helpers e.g. the WebSecurity helper, or for setting global variables. If you declare variables, they will only be accessible across the application if they are declared as global. You have discovered one way to do that:
AppState["rlist"] = rlist;
Or you can use the dynamic features of Web Pages:
App.rlist = rlist;