Problem leży po stronie ShoutCasta i PHP jednocześnie. ShoutCast nie radzi sobie z innym kodowaniem niż windows-1252, w którym polskie znaki są kodowane inaczej niż w polskich windowsach (Windows-1250). PHP zapisany w UTF-8 z kolei oczekuje, że plik XML będzie w UTF-8. I tak powstaje mętlik.
Myślę, że warto najpierw pobrać zawartość pliku XML z ShoutCasta do zmiennej (cURL, fopen, fsockopen), zastosować funkcję htmlspecialchars() lub jakąś inną, która pozbędzie się polskich znaków i wtedy dopiero wrzucić to do parsera xml.