Hmm, kann ich dir so direkt leider auch nicht sagen, aber mir ist etwas anderes aufgefallen:
saveP.FileName := saveP.FileName + '.m3u';
Was ist, wenn ich als FileName schon "MyPlaylist.m3u" angegeben habe? SChau dir mal ChangeFileExt an, das dürfte etwas "sicherer" sein