Today I finally got the time to get a logcat of what happens when trying to play a notification sound over a Bluetooth headset. See here:
http://pastebin.com/HC9W61at . The problem persists across multiple Bluetooth audio devices. Note that I can go into my device Settings and play notifications all I want. Same goes if I turn on notification sounds from my SMS app. This is why I believe this is a bug in Tasker rather than specific to my BT devices or my handset.
I explicitly tested the task action "Music Play" (notification stream). Here's what I think the interesting tidbit from the logcat, although I don't know if any of this is useful information (or if the pastebin is useful, either):
D/audio_hw_primary( 187): disable_snd_device: snd_device(2: speaker)
I/audio_a2dp_hw( 187): suspend_audio_datapath: state 1
E/bt-btif (31610): bta_av_str_stopped:audio_open_cnt=1, p_data ac429774
W/bt-btif (31610): bta_dm_rm_cback:1, status:6
W/bt-btif (31610): ### UNDERFLOW :: ONLY READ 0 BYTES OUT OF 512 ###
W/bt-btif (31610): btif_media_aa_prep_sbc_2_send underflow 3, 0
W/bt-btif (31610): ### UNDERFLOW :: ONLY READ 0 BYTES OUT OF 512 ###
W/bt-btif (31610): btif_media_aa_prep_sbc_2_send underflow 10, 0
E/bt-btif (31610): btif_get_num_aa_frame() - Limiting frames to be sent from 17 to 10
W/bt-btif (31610): ### UNDERFLOW :: ONLY READ 0 BYTES OUT OF 512 ###
W/bt-btif (31610): btif_media_aa_prep_sbc_2_send underflow 10, 0
W/bt-btif (31610): bta_dm_rm_cback:1, status:6
I/BluetoothA2dpServiceJni(31610): bta2dp_audio_state_callback
D/A2dpStateMachine(31610): Connected process message: 101
W/bt-btif (31610): overflow 0, enter 0, exit 0
W/bt-btif (31610): pcm bytes per tick 3528
E/bt-btif (31610): ERROR Media task Scheduled after Suspend
D/A2dpStateMachine(31610): A2DP Playing state : device: 48:C1:AC:7B:57:D0 State:10->11
I/audio_a2dp_hw( 187): skt_disconnect: fd 19