metaprogramming
Those Smalltalk examples are just doing some metaprogramming in much the same vein as redefining method_missing in Ruby. I'm somewhat conversant with the technique. I haven't had much call to use it, though -- so far.
Anyway, I didn't mean to suggest that the direct correspondence to an explicitly defined method is necessary to my definition of a message. I was just offering a reasonably simple example. I wasn't saying that all messages are method calls; I was just saying that all method calls are messages (that is, calls to explicit methods comprise a subset of messages).
Metaprogramming can, as you suggest, be done safely -- mostly by avoiding eval.