This is what happened when I tested the script:
I get the desired pause on the active player. It also clears the queue. BUT it does the same thing regardless of whether the active player has 3 or 30minutes left to play.
However, I observed that for particular 30mins show that ends about the same time the news update starts, it fades out the active player at the right time with only a few seconds left, then it plays all three fines correctly. Leading me to think there may be a problem here:
If ((ActivePlayer.Duration)-(ActivePlayer.CurTime) > 60000) and FileExists('C:\news\News Update.mp3') then
That string is saying if active player has more than 10mins left to play, right?