The problem with setting the utf8 mode on the filehandle isn't in DBD::CSV, but in DBD::File. Specifically in the open_table() method of the DBD::File::Statement package. You might want to send a message to the DBI mailing list or email Tim Bunce (DBI maintainer) directly. You will probably also want to cc Jeff Zucker (DBD::CSV maintainer) so that he's aware of the issue.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?