i'd personally go with either that from lua or generalise it in the form of get_currently_active_music, which'd give you an array or whatever of currently playing audio handles in the music channel, rather than throwing another bool at the problem 
I can see your point... but I think Axem is correct, briefing music is started as type ASF_MENUMUSIC, which is also used for:
1) autopilot messages
2) sexp_play_sound_from_file() (maybe, depending on what's passed as the 1st param)
3) credits music
4) mainhall music
5) briefing music
6) LUA playMusic()
So you can't return all the instances of ASF_MENUMUSIC in
AudioStream Audio_streams[MAX_AUDIO_STREAMS]; because you won't know which stream is the briefing music.
(just saw m!m's post)
It's sadly not that easy. Simply stopping a sound handle does not work correctly as the briefing code assumes that the handle is set to -1 if the music is stopped which is not possible if we just return that handle from a scripting function.
Right, because audiostream_close_file() called from LUA won't alter Briefing_music_handle. You'd have to add a special case to ad.stopMusic() anyway.
Anyway, so I'll do something like this:
i.e.
make the arguments to ad.stopMusic()
audiohandle (int)
fade (optional boolean)
"music type" (optional string)
...
Also, while I was looking at the music code I found the function "void briefing_stop_music()". I thought it would also be a good idea to modify this function at accept the fade parameter and reuse it in ad.stopMusic(). (this is something else I'm happy to do with the patch).
And since I've found them already, I might also add options to stop all these from ad.stopMusic():
1) "credits" Credits_music_handle/void credits_stop_music()
2) "main_hall" Main_hall_music_handle/void main_hall_stop_music()
3) "briefing" Briefing_music_handle/void briefing_stop_music()]