bunu recursive fonksiyon yardımı ile yapabilirsiniz.

Örnek:

function KategoriBC($kat_id)
{
	$sql = mysql_query("Select ustu, baslik From kategoriler Where id='$kat_id'");
	while (list($ustu, $kategori_adi) = mysql_fetch_array($sql))
	{
		$Ahref = '#kategori_linki';
		
		$GLOBALS['KategoriBreadCrumbs'][] = '<a href="'.$Ahref.'">'.$kategori_adi.'</a>';
		
		if ($ustu != '0')
		{
			$this->OlusturKategori($ustu);
		}else{
			$GLOBALS['KategoriBreadCrumbs'][] = '<a href="/">Anasayfa</a>';
		}
	}
	
	$ters_cevir =  array_reverse($GLOBALS['KategoriBreadCrumbs']);
	$Sonuc = implode(' &raquo; ', $ters_cevir);
	
	return $Sonuc;
}
kullanımı: fonksiyona breadcrumbs ını istediğiniz en dipteki kategorinin id sini göndererek kullanabilirsiniz.

örnek:
echo KategoriBC($urunun_kategori_idsi);
edit: problemin çözüldüğünü görmemişim neyse belki başka bir arkadaşımızın işini görür.