How to detect the newness of messages created with the Message module?
I ended up using a custom module with a table containing two columns: uid and lastaccess and two simple functions.

function notifmger_views_post_render(&amp;$view, &amp;$output, &amp;$cache){
    if ($view-&gt;name == "notification" &amp;&amp; $view-&gt;current_display == "page_1"){
        global $user;
        $check = db_query("SELECT * FROM notifmger WHERE uid = :uid",
            array(':uid' =&gt; $user-&gt;uid))-&gt;fetchCol(1);
        if (!empty($check)){
            $update = db_query("UPDATE notifmger SET lastaccess = :time WHERE uid = :uid", array(":time" =&gt; time(), ":uid" =&gt; $user-&gt;uid));
        }
        else {
            $insert = db_insert('notifmger')
            -&gt;fields(array(
              'uid' =&gt; $user-&gt;uid,
              'lastaccess' =&gt; time()
            ))-&gt;execute();
        }
    }
}

function notifmger_counter() {
    global $user;
    $msgs = db_query("SELECT count(*) FROM message LEFT JOIN notifmger ON notifmger.uid = message.uid WHERE message.uid = :uid AND message.timestamp &gt; notifmger.lastaccess AND message.type != :type", array(
        ":uid" =&gt; $user-&gt;uid,
        ":type" =&gt; "user_tagged_self"))-&gt;fetchCol();
    if ($msgs[0] != 0){
        return $msgs[0];
    }
    return NULL;
}