For a longer discussion of some of the complications with AUTOLOAD (particularly how it interacts or doesn't with can), see
Why breaking can() is acceptable.
Furthermore note that Perl 6 doesn't look like it will solve the issue (it will offer an AUTOLOAD fully as problematic as the current one), but it will give alternatives to AUTOLOAD that can let people get the functionality that they want from AUTOLOAD without causing problems for can, multiple inheritance, etc. Of course that only helps you if you use those alternatives...