See how the alarm sound is "30348" for that alarm? It used to be a properly named audio file, and it should still be. Frustratingly I can't remember exactly what it's called.
Under the assumption that this number was the media file's unique ID for the media database, I used SQLite Debugger (from the Play Store) to search through external.db -- there's a gap in the entry IDs where 30348 should be - ending just before that then jumping to the 31xxx range.
Stranger still, when the alarm goes off, the audio file still plays! There's also another couple of alarms set with orphaned alarm audio files...
I've even tried leaving the alarm going, switching to a Terminal window and running lsof (as SU) to see if I can find the open media file being played, with no success.
This happened for several of my alarms and notifications recently - I managed to choose new audio for most of them but some of them (including, I believe, ones where I used ES File Explorer to select them, and not the native Media Storage selection) are no longer available to select.
I know if I choose another media file, I won't be able to choose or find this one again.
Is there a way to detect where the file is? Are there any backups held of the SQLite databases which I could look through? I'm at a total loss.