An sich sieht dein Code ja gut aus.

Das Prinzip ist richtig, über alles weitere können wir auch nur raten:

Am einfachsten ist es, du schaust in den Code der Datei, an der Stelle, wo die Restmenge ausgegeben wird.

Damit du die konkrete Datenbanktabelle und Spalte findest, aus der dieser Wert ausgelesen wird.

Evtl. heißt diese uebrig oder so.

Sollte das stimmen, könnet es noch sein, dass beim Versenden eine neue TAN generiert wird.

Dann verwendet deine Zeile:
PHP-Code:
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET menge = menge - 1 WHERE tan='".$_GET['tan']."'"); 
eine falsche TAN, köntne man via:
PHP-Code:
echo mysql_affected_rows(); 
danach einfügen rausfinden (wenns 1 ist, passts, wenn 0, wird keine zeile geändert -> falsche TAN).

Müsstest du also die richtige TAN rausfinden, evtl wird die in vms_paidmails_versendet gespeichert in einer extra Spalte, oder du müsstest die TAN rausfinden durch Abfrage auf die vms_gebuchte_werbung mit anderen Parametern wie Sponsor, Text, Betreff etc.