OBSERVATION: It allows me to change it, but after a while, it’ll revert back to a particular ringtone, notification sound, or “Unknown ringtone”. No matter which sound I picked, be it from internal storage or SD, it’ll always revert back after a while. It’s like the ringtone is stuck!
SOLUTION: Some profile changing app that you’ve previously set up could be messing with the sound settings in the background, e.g. Llama, Tasker, etc. Check your triggers and actions for these apps, or just disable them completely for a while. See if the problem comes back. If not, bingo, you’ve found the culprit.