Il manuale PHP ci dice che
codice:
<?php
    mysql_connect("localhost", "mysql_user", "mysql_password") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("mydb");

    mysql_query("INSERT INTO mytable (product) values ('kossu')");
    printf ("Last inserted record has id %d\n", mysql_insert_id());
?>
mysql_insert_id va richiamata subito dopo una query e ritorna 0 se la query non ha generato un incremento

Ciao!!