Nur mit Free geht es so im moment nicht.
Wenn
if assigned(myMCIPlayer) then myMCIPlayer.Destroy;
geht, dann geht garantiert auch
myMCIPlayer.Free;
, denn rate mal was Free macht.
Wenn aber myMCIPlayer weiterhin verwendet wird, dann sollte man
FreeAndNil(myMCIPlayer);
verwenden.