I know it's trivial but the table names used in some of your SQL statements do not match the the table names reflected in the results. For instance in step3:
SELECT *
FROM SalesOrderDetail
WHERE SalesOrderID = 43671
AND SalesOrderDetailID = 120
Heap (1 row(s) affected)
Table 'SalesOrderDetail_noindex'. Scan count 1, logical reads 1495.
This is true so far in steps 2 and 3.