So, could it be said basically that methods() are 'local', while functions() are 'global'?
In Blitz terminology, maybe.A more accurate approach is to describe them in general OO terms. Thus a method is associated with an object or instance, while a function (or static method) is associated with a type or class.
Generally a static method can only access static fields, thus if one was to extend this to BlitzMAX terminology it could be said that since Functions can only access Globals then they are like Global methods. I don't agree with adding this level of terminology confusion, but I accept the argument that it might be easier for programmmers more accustomed to procedural programming to grasp things in terms of scope, rather than objects.
And further, new memory is allocated for each Method when a new instance of an object is created, whereas only one copy of a function needs to occupy memory and they all use that?
No. The difference here is that a method includes the object it was invoked from (self / this) as an implicit parameter.