playStream([music]) is parsed @ mapload, right ? And can't be changed via script.
If so, you could always make each bossfight room a separate level that player gets teleported to (no stairs, etc. just a silent TP at entrance). This way you can change music for only this room