Well the notices are sent from includes/functions_newpost.php around line 1401 (in vb3.8.7 PL2, but it's probably almost the same in other versions). There's this query:
Code:
//If the target user's location is the same as the current user, then don't send them
//a notification.
$useremails = $vbulletin->db->query_read_slave("
SELECT user.*, subscribethread.emailupdate, subscribethread.subscribethreadid
FROM " . TABLE_PREFIX . "subscribethread AS subscribethread
INNER JOIN " . TABLE_PREFIX . "user AS user ON (subscribethread.userid = user.userid)
LEFT JOIN " . TABLE_PREFIX . "usergroup AS usergroup ON (usergroup.usergroupid = user.usergroupid)
LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON (usertextfield.userid = user.userid)
WHERE subscribethread.threadid = $threadid AND
subscribethread.emailupdate IN (1, 4) AND
subscribethread.canview = 1 AND
" . ($userid ? "CONCAT(' ', IF(usertextfield.ignorelist IS NULL, '', usertextfield.ignorelist), ' ') NOT LIKE '% " . intval($userid) . " %' AND" : '') . "
user.usergroupid <> 3 AND
user.userid <> " . intval($userid) . " AND
user.lastactivity >= " . intval($lastposttime['dateline']) . " AND
(usergroup.genericoptions & " . $vbulletin->bf_ugp_genericoptions['isnotbannedgroup'] . ")
");
I think if you take out the line in red it will send an email for every reply.
Probably it was done that way to avoid sending many emails (as you can imagine, a popular thread with a lot of activity could require quite a few). But I guess you probably realize that and understand what you're getting in to.
There's also a daily summary that you can subscribe to, but I assumed that you knew that and you don't want once a day emails. But another approach might be to try to modify that to happen more often, like every 5 or 10 minutes. (I haven't looked in to that at all).