Por que você não especifica o comprimento do varchar? ou seja:
SELECT CAST('the quick brown fox jumped over the lazy dog' AS VARCHAR(45))
Quanto ao motivo 30, esse é o comprimento padrão no SQL Server para esse tipo.
De char e varchar (Transact-SQL) :