Ah, sorry for forgetting that MakeMaker problem---BrowserUK just helped me out of the same trap a while ago. The simplest thing to do is just to use some flavor of the cpan command to install your own MakeMaker, make sure your local path is in @INC before the /usr ones, and then reinstall everything your script needs. cpan then uses the untouched MakeMaker and installs the .packlist files correctly.
Unfortunately there's no sane way to regenerate packlists after installation due to the way Perl allows you to freely use whatever namespace you like for your module. For example, Template::Parser is part of the Template Toolkit and should go into its packlist while Template::Timer is an external add-on that has its own packlist. There's no way to tell when you find the Parser.pm and Timer.pm files in the same directory. You could probably look at timestamps and stuff but it's bound to break at some point; much easier to just reinstall everything.