I use templates for a lot of things but for applications of this nature there's a few downsides.
I think it's more platform agnostic for one. A lot of our applications get hosted elsewhere and by sticking with CGI.pm (which almost ever host has) it's easy to move around.
More things to break. By having the presentation seperate from the logic, you have a lot more files to contend with IMHO.
Less control (IMHO) over the display in the context of the current session. It's harder I think to make a seamless UI. (Let's say your using SOAP or cXML to communicate with a 3rd party service to complete a transaction of a browser and have to dynamically react. We do odd stuff like this a lot.)
A few of the projects we are working on are in the direction of extending CGI.pm for totally transparent persistance and validation. Many of the elements are intimately tied to generation of the HTML.