IIRC, it's not Mason causing the problem, but mod_perl, which caches the Perl to make things run faster. In my limited experience with Mason/mod_perl, what I do in this kind of case is just restart Apache, which clears the cache. There may be a better way, but I know this one works.

You only have to restart after updates of the code. If you can't do that you shouldn't deploy work in progress to a production server.

Anyway, depending on your version of mod_perl; for mod_perl 1.X you can use Apache::StatInc which will reload modules if they've been changed (this can mess up stuff if you have cached data/dependencies, but for simple modules it should work).