usually, from an efficiency standpoint, the time where the login dialog box is visible is relatively computationally light, because the user cannot type keystrokes nearly as fast as the computer can process them. Hence, that is valuable time that the application could be using to initalize the application. I would take advantage of that. It can do wonders for your start-up time.
I would FIRST open the login dialog, then begin intializing the application, even before the login is necessarily complete. The ONLY concern I can think of here is security related: can the user find someway to access the application that is being initialized before the login process is complete (i.e. can he/she circumvent the login process). THis should be relatively easy to prevent, however.
- Adam