کوئری درست به صورت زیر میباشد
 
SELECT TOP 10 id FROM Tb_Master ORDER BY NEWID()

دقت کنید باید در آخر دستور NEWID() بنویسید نه ID
این دستور 10 رکورد تصادفی را از جدول مورد نظر انتخاب می کند


در جواب سوال دوم شما:
زیرا در دستور
 
dr1 = ds1.Tables["Tb_Master"].Rows[0];

شماره نوشته شده در روبروی ROWS، شماره ردیف موجود در دیتاست را نشان می دهد
و شما همیشه اولین رکورد را انتخاب میکردید