Is it always safe to use WITH SCHEMABINDING in a UDF?
In fact it's the other way around. If you check the Best Practices section of the CREATE FUNCTION doc, you'll see that:

If a user-defined function is not created with the SCHEMABINDING
clause, changes that are made to underlying objects can affect the
definition of the function and produce unexpected results when it is
invoked. We recommend that you implement one of the following methods
to ensure that the function does not become outdated because of
changes to its underlying objects:

Specify the WITH SCHEMABINDING clause when you are creating the    function. This ensures that the objects referenced in the function
definition cannot be modified unless the function is also modified.