I recently had a long boot-up and fixed it by running the maintenance tasks that hadn't been run lately as I was never up late enough for them to turn on. This may work for you, it may not.
Thanks, I'm running the daily, weekly and monthly scripts from Onyx!
you could also boot in verbose mode (http://docs.info.apple.com/article.html?artnum=106388) and see if there is anything that looks funny as it boots up. (errors, etc.)
This blue screen lasts less than 3 seconds on my MacBook Pro. It's almost instantaneously logged in after the Apple boot screen.
4/10/08 7:39:29 PM loginwindow[24] Login Window Started Security Agent
4/10/08 7:39:29 PM SecurityAgent[134] Could not get the user record from DirectoryServices for autologin user.
4/10/08 7:39:29 PM SecurityAgent[134] Will sleep 1 seconds and try again (retryCount = 5)
4/10/08 7:39:30 PM SecurityAgent[134] Could not get the user record from DirectoryServices for autologin user.
4/10/08 7:39:30 PM SecurityAgent[134] Will sleep 2 seconds and try again (retryCount = 4)
4/10/08 7:39:32 PM SecurityAgent[134] Could not get the user record from DirectoryServices for autologin user.
4/10/08 7:39:32 PM SecurityAgent[134] Will sleep 4 seconds and try again (retryCount = 3)
4/10/08 7:39:36 PM SecurityAgent[134] Could not get the user record from DirectoryServices for autologin user.
4/10/08 7:39:36 PM SecurityAgent[134] Will sleep 8 seconds and try again (retryCount = 2)
4/10/08 7:39:37 PM kextd[10] writing kernel link data to /var/run/mach.sym
4/10/08 7:39:44 PM SecurityAgent[134] Could not get the user record from DirectoryServices for autologin user.
4/10/08 7:39:44 PM SecurityAgent[134] Will sleep 16 seconds and try again (retryCount = 1)
4/10/08 7:40:00 PM SecurityAgent[134] Showing Login Window