Use that query to filter with the same table by ID and that last modified date.
SELECT
T.*
FROM
[MyServer].[Database].[Table] AS T
INNER JOIN (
select Id,
MAX(LastModifiedDate) AS MaxLastModifiedDate
FROM [MyServer].[Database].[Table]
group by Id
) AS N ON
T.Id = N.Id AND
N.MaxLastModifiedDate = T.LastModifiedDate
EDIT: If you have multiple max dates for each ID, then you can't use their value to filter. You can use a ROW_NUMBER to rank them instead:
;WITH MaxByRowNumber AS
(
SELECT
T.*,
LastModifiedDateRanking = ROW_NUMBER() OVER (PARTITION BY T.ID ORDER BY T.LastModifiedDate DESC)
FROM
[MyServer].[Database].[Table] AS T
)
SELECT
M.*
FROM
MaxByRowNumber AS M
WHERE
M.LastModifiedDateRanking = 1
You might want to add another column to the ORDER BY to untie the most recent updated dates, or not, depending on your needs.
OVER()clause in the aggregate functions instead of aGROUP BY