If a replaced function is called by another function, both functions are recompiled when called. If the interface of the replaced function does not match that in the calling function, then the calling function must be replaced, otherwise, the calling function raises an error. You can execute sp_depends on the replaced function to check for any calling objects.
create function testfun1 (@para1 int)
returns int
as
begin
declare @retval int
set @retval = @para1
return @retval
end
create function testfun2 (@para int)
returns int
as
begin
declare @retval int
select @retval= dbo.testfun1 (@para)
return @retval
end
create or replace function testfun1 (@para1 int,@para2 int)
returns int
as
begin
declare @retval int
set @retval = @para1+@para2
return @retval
end