actually the question came to me while I was looking around the "Everything" code! I have used it for one of my projects without feeling guilty but I can't help but feel like it's "cheating" or somehow inefficient. I think it can definitely have its place.
In that case, yes, it was a mistake. It was a deliberate design decision. I understand the reason for using it. It's also going away unlamentedly. :)
If it helps, both Python and Ruby have similar features. You can use it for anything from error checking to run-time function creation. Take a look at Test::MockObject for a better, or, at least, more interesting use of AUTOLOAD.