il codice postato in questo modo e' illeggibile. per esempio chiami mysql_insert_id prima di eseguire l'insert. Poi la query insert con tutte quelle aperture e chiusure di collegamenti con il punto e' praticamente illeggibile senza copiarla su un editor. Cosa che non ho tempo di fare.

comunque l'errore che hai segnalato e' nella query insert (presumo) .