indipendentemente da come intendi raggiungere il nuovo record (movelast non lo prenderei come affidabile in questo caso), quello che non è chiaro è che questo record "vada nel mezzo".
dici che l'identificativo è numerico... non è che invece è in formato testo?
e se non estrai il record ordinando la tabella (asc o desc), che fai... cerchi "l'ultimo"? ultimo in base a cosa?


edit:
hai considerato l'uso di SELECT @@IDENTITY FROM tabella?