Okay, nu forstår jeg. Jeg havde vist misforstået projektet lidt fra start  =)
Jeg ville gå en anden vej. Jeg ville kun indsætte de rækker, der ikke allerede er i databasen - og derefter sende mails ud om dem, der blev indsat.
Det kræver, der i hver række står noget i et af dine XML-items, som er unikt for lige netop dén række. Så vil man nemlig kunne udnytte, at MySQL kaster en fejl 1062, hvis man har et unikt felt i databasen - og man prøver at indsætte noget, der står i forvejen.
Da jeg ikke kender dine data, får du her en mere generisk løsning: Opret et ekstra felt i databasen. Det skal være af typen VARCHAR - have en max-længde på 32 - og sættes til at være unik.
Så kan du prøve med følgende kode:
$arrInfo4Mails = array();
if ($stmt = $mysqli->prepare('INSERT INTO `ad_hoc` (`id`, `subject`, `requester`, `priority`, `deadline`, `status`, `hash`) VALUES (?, ?, ?, ?, ?, ?, ?)')) { 
    [LOOP_BEGIN]
    $hash = md5($cols->item(0)->nodeValue.$cols->item(1)->nodeValue.$cols->item(2)->nodeValue.$cols->item(3)->nodeValue.$cols->item(4)->nodeValue.$cols->item(5)->nodeValue);
    $stmt->bind_param('issssss', $cols->item(0)->nodeValue, $cols->item(1)->nodeValue, $cols->item(2)->nodeValue, $cols->item(3)->nodeValue, $cols->item(4)->nodeValue, $cols->item(5)->nodeValue, $hash);
    @$stmt->execute();
    if ($stmt->errno!=1062) {
        if ($stmt->errno!=0) {
            die('Der opstod en fejl, som ikke skyldes "duplicate entry". Tjek og ret.');
        }
        $arrInfo4Mails[] = array($stmt->insert_id, $cols->item(0)->nodeValue, $cols->item(1)->nodeValue, $cols->item(2)->nodeValue, $cols->item(3)->nodeValue, $cols->item(4)->nodeValue, $cols->item(5)->nodeValue);
    }
    [LOOP_END]
    $stmt->close();
} else {
    /* Der er opstået en fejl */
    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
}
$mysqli->close();
if (count($arrInfo4Mails)>0) {
    // Send mails her
    var_dump($arrInfo4Mails);
} else {
    echo 'Ingen nye rækker.';
}
Jeg danner en md5-hash af alle felternes samlede indhold og forsøger at sætte den ind sammen med de andre data. Hvis denne hash findes i forvejen, vil 
execute smide en fejl. Den undertrykker vi dog med et 
@ foran kaldet.
Opstår der en fejl 1062, gør vi intet. Gør der ikke det, tjekker vi for andre fejl. Opstod der ikke andre fejl, hælder vi data ned i array'et 
$arrInfo4Mails - som til sidst kan bruges til mail-udsendeing.
Ved koden:
    // Send mails her
    var_dump($arrInfo4Mails);
- kan du selv afgøre, hvilke data du vil have med - og efterfølgende rette linjen, hvor de fyldes i array'et.
Det burde virke  =)