I agree on most of your points, and I know from experience that MVC can be a huge and costly effort. :-/
I do think that for smaller CGI applications it can still be beneficial to try and separate the three components, because in my experience, those are just the kind of apps that get coded before they're designed.
If you take something like CGI::Application, I think it will make a big difference already for those apps. Even if you don't do the full MVC separation.
Bigger and more complicated applications tend to get more design time anyway (ignoring an abundance of contrary examples), and are _hopefully_ more maintainable just because of that.