Don't know about mod_perl, but one reason NOT to use DBI is that it may not exist on your target machine. Some of my scripts broke this morning when I moved them from development to production. It turns out that the production machine did not have DBI installed.
Fortunately the 'Use DBI' statement was not needed, so commenting it out fixed the problem. But I would have been in big trouble if I had actually coded in DBI.
Unless one has control over one's target environment or is reasonably certain about what it will be the less fancy modules used the better.