dziwny. Skopiowałem twój kod, usunąłem komentarze i usunąłem dodatek do daty, i na obu wypadnie dobrze.
BEGIN TRAN
CREATE TABLE t (d DATETIME NOT NULL)
INSERT INTO t VALUES (GETDATE())
SELECT (CONVERT(VARCHAR(50),CONVERT(DATE, d)))
FROM t
SELECT TOP 1 (CONVERT(VARCHAR(50),CONVERT(DATE, d)))
FROM t
ROLLBACK