evtl ein fehler im code, oder die serverzeit ist falsch eingestellt...

musst halt mal die stelle suchen, wo das datum berechnet wird
PHP-Code:
$bis time() + (86400*$_POST['gueltig']); 
oder so, und dann dir mal die werte ausgeben, kann natürlich auch an einem falschen wert in der datenbank liegen, also das in dem fall $_POST['gueltig'] (da aus dem code fürs manuelle verschicken.) negativ wäre oder so...