Without a repro it is difficult to say what might be going on. There are no changes in this area that I know of. But check that the function is actually owned by dbo.
This repro works for me:
CREATE USER pelle WITHOUT LOGIN
go
CREATE SCHEMA schema1;
go
CREATE SCHEMA schema2
go
CREATE FUNCTION dbo.somefunc(@d float) RETURNS float WITH SCHEMABINDING AS
BEGIN
RETURN log(@d)
END
go
CREATE VIEW schema2.viewB AS SELECT dbo.somefunc(1E0) AS col
go
CREATE VIEW schema1.viewA AS SELECT col FROM schema2.viewB
go
GRANT SELECT ON SCHEMA::schema1 TO pelle
go
EXECUTE AS USER = 'pelle'
go
SELECT col FROM schema1.viewA
go
REVERT
go
DROP USER pelle
DROP VIEW schema1.viewA
DROP VIEW schema2.viewB
DROP FUNCTION dbo.somefunc
DROP SCHEMA schema1
DROP SCHEMA schema2
[font="Times New Roman"]Erland Sommarskog, SQL Server MVP, www.sommarskog.se[/font]