Try a verbose boot and see where it hangs:
1. Shut down the computer if it is on.
2. Press the power button to start the computer.
3. Immediately press and hold the Command (Apple) key and the "v" key for verbose mode. (Command-V)
You have successfully entered verbose mode when you see white text appear on the screen.
Verbose mode exits automatically when the computer's startup process progresses sufficiently and the blue screen appears.
Verbose boot @ Apple:
http://support.apple.com/kb/HT1492
You can also zapping the parameter RAM:
1. Shut down the computer.
2. Locate the following keys on the keyboard: Command, Option, P, and R. You will need to hold these keys down simultaneously in step 4.
3. Turn on the computer.
4. Press and hold the Command-Option-P-R keys. You must press this key combination before the gray screen appears.
5. Hold the keys down until the computer restarts and you hear the startup sound for the second time.
6. Release the keys.
Your computer's PRAM and the NVRAM are reset to the default values. The clock settings may be reset to a default date on some models.
PRAM reset @ Apple:
http://support.apple.com/kb/HT1379