in reply to DBI/DBD::mysql bugs?

Are you really, really sure that there's no code path that would bypass that prepare()? The error message you're getting is one that I've only seen from attempts to do an INSERT with an error in the column list.