Vediamo come va a finire questa... 
Innanzitutto, la forma che hai usato riportata qui sotto
codice:
Player.FileName:=listato.Items.item[listato.Selected.Index].Caption;
è inutilmente ridondante, poichè sarebbe sufficiente scrivere
codice:
Player.FileName := Listato.Selected.Caption;
dopo aver aggiunto anche il seguente controllo
codice:
if Listato.Selected <> nil then
Player.FileName := Listato.Selected.Caption;
altrimenti ottieni un Access Violation se nessun elemento è selezionato e fai doppio clic sul controllo.
Poi, il MediaPlayer non funziona poichè la proprietà Caption dalla quale estrai il nome del file ti restituisce appunto solo il nome, ma il componente TMediaPlayer vuole il percorso completo nella proprietà FileName (C:\Percorso\NomeFile.wav, ad esempio).