Aparentemente necesitaba hacer GRANT EXECUTE ON FUNCTION en lugar de GRANT EXECUTE ON PROCEDURE .
Uno pensaría que si GRANT EXECUTE ON PROCEDURE solo funcionó en PROCEDIMIENTOS en los que el mensaje de error debería decir "Código de error:1305. PROCEDIMIENTO businessDayDiff no existe" en lugar de "FUNCIÓN o PROCEDIMIENTO"...