select query on Temp table is not returning data in correct order even after specifying index hint
You have to use an ORDER BY.  Adding a hint to use a specific index does not guarantee any ordering of the resultset:

https://stackoverflow.com/questions/10064532/the-order-of-a-sql-select-statement-without-order-by-clause