ho fatto una semplicissima query select * from tabella order by id asc
hai detto che utilizzavi Asc, forse è quello
Per la query gnuda al volo va bene il top 1 come ti ho detto se lo fai programmaticamente dopo che hai inserito un record è + sicuro
select @@indentity from tabella e poi con ExecuteScalar peschi il valore