Have you tried using just plain 'ol prepare(), and if so, did it also
throw an error?
I did find the following in the DBI doc....good luck!
This caching can be useful in some applications, but it
can also cause problems and should be used with care. If
the cached "$sth" being returned is active (i.e., is a
"SELECT" that may still have data to be fetched) then a
warning will be generated and "finish" will be called
for you. The warning can be suppressed by setting
"$allow_active" to true. The cache can be accessed (and
cleared) via the the CachedKids entry elsewhere in this