In case someone is still struggling with this, perhaps the following will work (it did for me). This assumes you have an iPhone 4 with newly downloaded iOS5 and connect it to a MBP w/ Snow Leopard (latest version of this OS).
1) connect iPhone to the computer
2) launch iTunes & let the computer do its initial sync'ing thing
3) click on the name of your iPhone under the Devices section on the left
4) when you select your iPhone on the left, on the right, you should see an image of your iPhone
5) above the image of the iPhone, select Ringtones
6) uncheck the Sync Ringtones box, uncheck the Ringtones listed below the "Selected ringtones" button, when that button is selected
7) in the grey area at the bottom of the window click on Apply, then Sync (Note: you are sync'ing to REMOVE the ringtone first. As long as the ringtone is in your Library of Ringtones (see Library, Ringtones, above devices on the left), then your ringtones are not actually lost.)
6) re-check the Sync Ringtones box, select the Selected Ringtones button, check the Ringtones you want to add, then click Apply at the bottom, then Sync again.
This should re-establish the path to the ringtones on your iPhone.
Hope this helps!