i record inseriti in una tabella hanno una posizione fisica random per definizione. quindi l'ultimo record fisico potrebbe non essere l'ultimo inserito. In caso di cancellazione di record MySql recupera lo spazio libero a meno che tu non abbia eseguito nel frattempo l'optimize table che compatta gli spazi vuoti.

Il record viene individuato dall'id (autoincrement). Il valore piu' alto e' l'ultimo inserito. Su questo non ci piove.
Una data ora potrebbe invece essere falsata dal fatto che in un inserimento multiplo (stessa query) l'ora di sistema viene letta una sola volta e applicata a tutto il range inserito / modificato e quindi potrebbero risultare piu' record con lo stesso valore.

Se vuoi sempre l'ultimo inserito da te usa mysql_insert_id() subito dopo la query. Se vuoi l'ultimo inserito da chiunque usa l'order by id desc, limit 1