Where is the music file? I had the problem once and found that a lot of time it is due to where the ringtone is placed. If it is a proper MP3 in a song folder, then sometimes it doesn't work that well.
You should create a ringtone from the MP3 using an app, then placed it in a folder called Ringtones. Now when you select the ringtone for your contact, don't select from My Files. Instead, select the phone ringtone option. If you have the music in a Ringtones folder, it should appear.
Second thing, if you placed the Ringtones folder in an external microSD, it works the same way, but if you take out/unmount the microSD, it can get reset as well.
Hope that helps