Brian Brown-204626 (7/30/2012)
The only wait I can see in the Activity Monitor is PREEMPTIVE_WAIT_GETDATA.
PREEMPTIVE: Simply put, this wait means non-cooperative. While SQL Server is executing a task, the Operating System (OS) interrupts it. This leads to SQL Server to involuntarily give up the execution for other higher priority tasks. This is not good for SQL Server as it is a particular external process which makes SQL Server to yield. This kind of wait can reduce the performance drastically and needs to be investigated properly.
also look at this.
Linked server operations involve a number of in-between software layers, adding an element of sluggishness. So I am not surprised if you see performance differences from one version to another. Generally it is better to use OPENQUERY (pass-through query) over 4-part naming queries. Even better to use remote stored procedures to force processing to the right server and minimize communications between remote and local servers.