Até onde eu sei, o SQL Server determina se sua função é determinística e/ou precisa. Tente executar as seguintes consultas e veja o que você obtém:
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsDeterministic')
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsPrecise')