mysql_insert_id() 0 veriyorsa önceki query AUTO_INCREMENT oluşturmuyor ya da bir MySql bağlantısı yoktur.

Kaynak: php.net

$query= "SELECT max(id) FROM tablo";
Bu şekilde de denenebilir. Aslında mysql_insert_id fonksiyonu da bunu yapıyor.