What about the following:
Code:
WITH t AS (SELECT pk, DateLastUpdated
FROM table WHERE type = @type
UNION ALL
VALUES (-1, CAST('0001-01-01' AS date)))
SELECT t1.pk
FROM t AS t1 LEFT OUTER JOIN t AS t2
ON t1.DateLastUpdated < t2.DateLastUpdated
WHERE t2.pk IS NULL
The CTE t contains only the rows with the selected type.
The outer join is a self-join of t, which will link none of the rows of t2 to the "max" row of t1.
This explains the "WHERE t2.pk IS NULL".
When there is no row in table with type = @type, the row added by the UNION will be returned.