El número de fila no se evalúa en cada fila, sin embargo, las declaraciones de casos sí lo son, por lo que está atascado con el número de fila sin importar el caso.
Prueba esto en su lugar:
ROW_NUMBER() OVER (
ORDER BY
CASE WHEN @orderby = 0 AND @orderdir = 1 THEN ne.[time] END DESC,
CASE WHEN @orderby = 0 AND @orderdir = 2 THEN ne.[time] END ASC,
CASE WHEN @orderby = 1 AND @orderdir = 1 THEN ne.lastedit END DESC,
CASE WHEN @orderby = 1 AND @orderdir = 2 THEN ne.lastedit END ASC,
CASE WHEN @orderby = 2 AND @orderdir = 1 THEN ne.title END ASC
CASE WHEN @orderby = 2 AND @orderdir = 2 THEN ne.title END DESC
)