I dont think the issue with selection of Remoteserver data.
Since selection is from remote server. And that too is giving right @@rowcount value when only select was used.
What I am suspecting is the Set IDENTITY Insert on statement, which stops @@rowcount variable to have valid values.