Вы не можете использовать NEWID () внутри функции.
Обычный обходной путь (по моему опыту, GETDATE () более необходим) должен передать его в:
Create Function [dbo].[GetNewNumber](@newid UNIQUEIDENTIFIER )
RETURNS int
AS
BEGIN
Declare @code int
set @code = (SELECT CAST(CAST(@newid AS binary(3)) AS int) )
RETURN (@code)
END
И назовите это как:
SELECT dbo.GetNewNumber(NEWID())