That mod is broken as it checks the thread marking options that were removed in the newer vb4 versions, it's fixed quite easily if you edit the check out.
Here is my working version of the code so you can see what to edit.
Code:
// Subscribed threads in Notifications
// Modification COPYRIGHT 2010 ADAM OEST
// http://www.pentaxforums.com/forums/sendmessage.php
if ($vbulletin->userinfo['userid'] > 0 && $vbulletin->userinfo['field27'] == "Enable")
{
$new_subscribed_threads = 0;
// Dirty workaround
if ($_REQUEST['do'] == 'markread' AND !$_REQUEST['forumid'])
{
$vbulletin->db->query_write('
UPDATE ' . TABLE_PREFIX . 'threadread
SET readtime = ' . TIMENOW . '
WHERE userid = ' . $vbulletin->userinfo['userid']);
}
$thread_readtime_query = $vbulletin->db->query_read('
SELECT a.threadid, c.forumid, c.lastpost, b.readtime
FROM ' . TABLE_PREFIX . 'subscribethread a
LEFT JOIN ' . TABLE_PREFIX . 'threadread b
ON (a.threadid = b.threadid AND a.userid = b.userid)
LEFT JOIN ' . TABLE_PREFIX . 'thread c
ON (a.threadid = c.threadid)
WHERE a.userid = ' . $vbulletin->userinfo['userid'] . '
AND a.canview = 1
AND c.visible = 1'
);
while($thread_readtime = $vbulletin->db->fetch_array($thread_readtime_query))
{
$lastread = max($vbulletin->forumcache[$thread_readtime['forumid']]['forumread'], TIMENOW - ($vbulletin->options['markinglimit'] * 86400));
if ($thread_readtime['lastpost'] > $lastread)
{
$threadview = intval($thread_readtime['readtime']);
if($thread_readtime['lastpost'] > $threadview)
{
$new_subscribed_threads++;
}
}
}
$vbulletin->userinfo['adam_subsct_count'] = $new_subscribed_threads;
$notifications['adam_subsct_count'] = array(
'phrase' => $vbphrase['new_subscribed_threads'],
'link' => $vbulletin->options['bburl'] . '/subscription.php?do=viewsubscription&daysprune=-1&folderid=all',
'order' => 50
);
}