Just had a closer look at the source code, it's missing an ignore()
statement and the end of Application_Start because the method is expected to return void (and apphost.Init()
in v4 returns a ServiceStackHost so it can be chained), e.g:
type Global() =
inherit System.Web.HttpApplication()
member x.Application_Start (sender:Object, e:EventArgs) =
let apphost = new App_Start.AppHost()
apphost.Init()
ignore()