Kevin,
>3) Related question...what is this business accounting app doing at startup? Is the 30 seconds completely due to loading the framework, are there database checks or other application checks being done? Any info might be helpful.
That's a very important question, indeed. Is the delay simply the result of loading up the .NET runtimes (whatever that entails) or is the app querying a database perhaps multiple times to construct some data structures for dropdown lists, running some kind of checks as you mention, pre-instantiating this and that, and other such things?