Okay, I have iTunes 7.7.1.11 and my iPhone 3G is sporting 2.0.1 and this worked for me - I just did this literally minutes ago. I am using Windows Vista.
I made sure that my file extensions were shown (Folder Options -> View) under the "Advanced Settings" box by *UNCHECKING* "Hide extensions for Known File Types"
Then, I went to my iTunes folder on my compy (Start -> Music -> iTunes) and I *CREATED* a folder named Ringtones.
I restarted iTunes and the folder showed up immediately on the left hand side under the "Library" section.
Then, in iTunes, I went to Edit -> Preferences -> Advanced -> Importing and under "Import Using" I selected "AAC Encoder"
I then selected a song to use. I right clicked and selected "Get Info". I then went to "Options" and went down and modified the Start/Stop times as I pleased. I made sure that the length was no longer than 30 seconds and I made sure that both the "Start" and "Stop" boxes were checked.
Once I did that, it went back to the standard screen and I right-clicked the newly modified song and selected "Convert Selection to AAC"
Once it converted I immediately moved that new copy to my desktop. I then *IMMEDIATELY* (this was key for me, folks!) DELETED the COPY (by selecting "Delete" and "Move to the Recycle Bin" for the prompts).
I then put the original back to it's former glory by unchecking the "Start" and "Stop" boxes.
On my desktop I renamed the songs from xxxx.m4a to xxxx.m4r
I double-clicked the renamed file and it opened up in iTunes, under the "Ringtones" folder.
I hooked up my iPhone and synced the ringtones (by selecting the iPhone on the left and then the "Ringtones" tab in that menu) and they were on my iPhone once the syncing was complete.
Congratulations, you have your favorite music in ring tone form!
I know that I have repeated a lot of what was already here, but for me these exact steps are what worked. I did this because I am sure that there are quite a few of you out there who get tired of downloading programs and just want to do it the manual way, just like me. Not that there is anything wrong with 3rd party software, I just found a quick little process and this worked for me just fine. I found that there was no change in sound quality, either.
Thanks to all you out there who figured this out and posted it for the rest of us to use! : D

Good luck!