Şöyle bir çözüm buldum ki ne kadar mantıklı bilemedim ama en azından çalışıyor.
$sorgu= mysql_query("SELECT * FROM Ziyaretci WHERE ip ='$visitor_ip' ORDER BY tarih DESC LIMIT 1 ");
$sayi=mysql_num_rows($sorgu);
$veri=mysql_fetch_array($sorgu);
$eski=$veri['referans'];
$giris=$veri['tarih'];
if ($sayi==1 && $giris > ((time())-1500) )
{
$sql=mysql_query("INSERT INTO Ziyaretci VALUES (NULL,'$visitor_ip','$today_date','$visitor_request_url','$eski','$visitor_lang','$visitor_agent')");
}else{
$sql=mysql_query("INSERT INTO Ziyaretci VALUES (NULL,'$visitor_ip','$today_date','$visitor_request_url','$visitor_referer','$visitor_lang','$visitor_agent')");
}aynı ip nin son hareketini buluyorum 25 dakikalık dilimde sayfalarda gezindimi ilk geldiği siteyi yazdırıyorum 25 dakikayı geçerse yeni $visitor_referer neyse onu yazdırıyorum.