I tried everything that could be done without changing the OS or pulling the battery.
Finally I left things the way I wanted them, tested a few more times to make sure it was still not working, and then pulled the battery. Now it works fine. And it is accepting other changes properly.
I haven't put a MicroSD card in the phone yet (still waiting on it to arrive in the mail). So the mp3s that I'm using are stored in the device memory. They are small though as they're just ringtone loops, not full songs.
Something else I noticed while the phone wouldn't play ringtones properly was that it was running really slowly. After the battery pull it's back to normal speed as well. Unfortunately I haven't tested out custom pictures yet so I can't report anything there.