It was originally posted on Ars Technica in the comments
http://arstechnica.com/journals/apple.ars/2008/08/08/fix-iphones-apple-logo-scre en-of-death-with-recovery-mode
Here it is - it has worked for me
Many people have experienced this on the Apple forums with 2.0, 2.0.1 hasn't fixed it. I've got lots of apps, and i've restored 5 times since July 11th, and my backup only worked once. But, Mr Buzz posted the following. I'm yet to try this as it hasn't happened again, but it seems to be a way to save your data and make it boot up when frozen on the apple logo and others have reported that this works.
15-MIN SOLUTION: CONNECT TO ITUNES AND REBOOT 3 TIMES TO AVOID RESTORE
So this has happened to me more times than i can count, and I've recovered both my phones (2G + 3G) using this method. I've seen some people in this thread allude to this solution but let me just spell it out completely and hopefully this will save you a few restores on your phone.
1. Connect to iTunes via USB. Do not disconnect for rest of these steps. iTunes may appear frozen or stuck with spinning beachball....this is okay, do not Force Quit iTunes. I tried a few times w/o it being connected to iTunes and it doesn't work.
2. Once connected, hold Home + Power until screen blinks then Apple logo comes back up.
3. Wait until Apple logo dims slightly (~5 minutes or less). Do NOT reboot until the apple logo dims.
4. Hold Home + Power again until it reboots and Apple logo comes back up.
5. After 2 min or so, the phone may vibrate once or twice. Continue waiting for the full 5 min until Apple logo dims slightly. iTunes at this stage MAY recognize the phone...do not sync or do anything in iTunes.
6. Hold Home + Power for the 3rd time until it reboots. Phone may vibrate again after 2 minutes or so. Eventually you'll break into your Home screen.
Hope that helps and let me know if it does.
Apparently what causes this endless loop is that the SpringBoard crashes upon launch (over and over again) and launches CrashReporter on the phone itself. It goes into an endless loop until somehow iTunes while connected via USB triggers some sort of fix on the SpringBoard or its preferences/database.