Så vitt jag vet avgör SQL Server själv om din funktion är deterministisk och/eller exakt. Testa att köra följande frågor och se vad du får:
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsDeterministic')
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsPrecise')