So, with the ability to edit older posts gone, I figure I'll just repost it with the updated instructions:
1. You will need iTunes version 7.1.5 and the most recent iPhone firmware, version 1.1.2. Update at your own discretion.
2. Make sure that in Preferences -> Advanced -> Importing, you have AAC set as the filetype. 128kbps is perfect, any higher quality probably won't make a difference on the iPhone's speaker.
3. Find any non-protected song in iTunes you want to use for the ringtone.
4. To choose what section of the file you want to use as the ringtone, right-click on the song and select Get Info -> Options -> Start/Stop times to edit the file's to the start/stop times of your choice. I use 30 second clips or less, though you could probably use longer clips. I have yet to try it.
5. Right-click on the track you edited and choose "Convert Selection To AAC". A new file will be created and it will be the portion of the original file you specified. This will end up as your ringtone.
6. Right-click on the original song file and clear the start/end times by unticking the checkboxes next to the times so they'll go back to playing their normal times. If you sync your iPod and go to listen to a song and it cuts out after 30 seconds, you most likely forgot to reset the start/stop times!
7. Right-click on the new clip you made (it should appear directly under the original song and have the length that you created, i.e. 30 seconds) and choose "Show in Windows Explorer". This opens a browser window with the new clip you created. Minimize the window.
8. Now, right-click on the file in iTunes and choose "Remove" then "Keep File". You want to delete it from the library, but keep it on your computer.
9. Bring up the browser window with the new file again, and rename the extension of the file from ".m4a" to ".m4r", i.e. "ringtone.m4a" to "ringtone.m4r". If you don't have extensions showing in windows, you will have to go to tools -> folder options -> view -> and untick the "Hide extensions for known file types box". This will show you the extensions of files so you can rename it.
10. Double-click on the file and it will be added to the ringtones menu in iTunes. Click on the ringtone graphic on the left side of iTunes and you should see the tone in the list. Connect your iPhone and sync any or all ringtones.
Of note, once you click on the .m4r file and it to ringtones, iTunes will move the file to a ringtones folder in your iTunes music library if you have iTunes set to organize your music library.
As I mentioned, you can always use a third-party audio editing tool to add fade-in or fade-out effects to your ringtones to make them sound nicer.