I've been encountering freezes when playing back the Kyrandia soundtrack. I managed to get the code to build, ran Winamp under the debugger, and found it freezing at the SendMessage line.
void MyPlayer::set_subsong(int subsong)
{
plr.subsong = subsong;
SendMessage(*myWindow,WM_COMMAND,WINAMP_BUTTON2,0);
}
I made a one line change to from SendMessage to PostMessage and haven't seen a freeze since.
I also think the current subsong system is cumbersome to use compared with other players that automatically add subsongs to the Playlist.