Доколкото знам, SQL Server сам определя дали вашата функция е детерминистична и/или прецизна. Опитайте да изпълните следните заявки и вижте какво ще получите:
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsDeterministic')
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsPrecise')