Tyle, że mysql_insert_id() zwraca id ostatnio wpisanego rekordu w danej bazie, z jaką połączenie utrzymujemy. Niekoniecznie tego, o który Nam musi chodzić. Może zajść sytuacja, że akurat był zapis do dwóch różnych tabel. Zwrócony id będzie tyczył id z tabeli, która była zapisana ostatnio. Bezpieczniejsze byłoby użycie:
SELECT id FROM tabela ORDER BY id DESC LIMIT 1