smalldatetime
tiene un rango hasta el 6 de junio de 2079 para que pueda usar
ORDER BY ISNULL(Next_Contact_Date, '2079-06-05T23:59:00')
Si no hay registros legítimos tendrá esa fecha.
Si esto no es una suposición, le gustaría confiar en una opción más robusta que es ordenar en dos columnas.
ORDER BY CASE WHEN Next_Contact_Date IS NULL THEN 1 ELSE 0 END, Next_Contact_Date
Sin embargo, las dos sugerencias anteriores no pueden usar un índice para evitar una ordenación y brindar planes de aspecto similar.
Otra posibilidad, si existe tal índice, es
SELECT 1 AS Grp, Next_Contact_Date
FROM T
WHERE Next_Contact_Date IS NOT NULL
UNION ALL
SELECT 2 AS Grp, Next_Contact_Date
FROM T
WHERE Next_Contact_Date IS NULL
ORDER BY Grp, Next_Contact_Date