pointed out - you may just be implementing it badly. You should check out the CGI::Application mailing list (see POD) for common mistakes.
That said, Ive found there is
a point where CGI::Application starts becoming counter intuitive. Theres not much of TMOWTDI and its "methodology" starts creating its own kind of mess, where it cleaned up a previous one.
Take a peek inside - theres no deep magic going on. You could probably hack together a base-class that does exactly what you want and scales how you need. Assuming you can afford the time.