You should not have to start up a second DBI connection. All that should be required is as follows:
# set DB and SQL values as necessary
$dbh = DBI->connect "$DB_SERVER:$DB_NAME;$DB_HOST") or die "Can't conn
+ect to $DB_NAME, error ";
$sth = $ccmd_auth::dbh->prepare($sql) or die "Can't prepare $sql: $dbh
After the $sth is 'finished', you should be able to prepare and use $sth again in other queries.
One thing I noticed in your code is that you refer to a $dbh2 when you set up your second $sth. Is this for a connection to a second database? Otherwise it should use the same $dbh that was originally set up. This may be what is causing your problem.