If a local function in an m-file is replaced by a global function with the same name, then the local function still gets called - although it is deleted in the m-file.
I have to restart FreeMat to get the right behaviour.
Example:
File: myfunc.m
function myfunc
hello_func()
% comment away this function after first call of myfunc
% 1) the function is still available (shouldn't be)
% 2) a new file hello_func.m does not get called (it should)
function hello_func
'local hello'
File: hello_func.m
function hello_func
'global hello'