Şö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.