Soweit ich weiß, bestimmt SQL Server selbst, ob Ihre Funktion deterministisch und/oder präzise ist. Versuchen Sie, die folgenden Abfragen auszuführen, und sehen Sie, was Sie erhalten:
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsDeterministic')
SELECT OBJECTPROPERTYEX(OBJECT_ID('dbo.ufn_max_smalldatetime'), 'IsPrecise')