You can use prepare_cached() without fear now. It used to be necessary to call finish() so that you wouldn't get a fatal error if one of your statements was called again before being fully read, but now it's just a warning. Make sure you have the latest DBI and you'll be fine.