You might want to have a read of the
DBI man page, specifically the section relating to Threads and Thread Safety as the behaviour which you are describing is similar to that performed when additional threads are created after the creation of a DBI object. Cloned DBI objects retain the internal data pointers of the original object - This in turn causes a threaded Perl to croak when accessing DBI handles which do not belong to the current thread (excepting DESTORY).
Similarly, the outcome of all this is that if you want each forked process to have a separate database handle, these handles should be created after forking the original process.
perl -le "print+unpack'N',pack'B32','00000000000000000000001010001000'"