With no where clause, I would not expect it to use an index whether it was a linked server, or a local table. Are you sure this is an index seek, and not an index scan (table scan in the case of a clustered index).
"Select *" will use a PK index if it is the clustered index, because the clustered index is the order in which the data is stored. But otherwise, "select *" with no join is not going to use any index because it scans the entire table.
If it's not practically useful, then it's practically useless.
my select is:
SELECT PocketPC, Quantity, InvDateTime, InvType FROM ssbmobile.SSBMobileMaster.dbo.Inventory
WHERE db=1 AND ItemID= '000998' AND InvType= '2'
AND ((PocketPC='-P1-' AND InvType = 2) OR (InvType = 1))
and how to force to use index: