Are you explicitly checking return values of all DBI calls or do you have RaiseError (which will force a die on any problem) set? If you aren't doing either, set RaiseError and see what happens when you run it.
Set RaiseError by doing something like this in the connect
my $dbh = DBI->connect("DBI:$dbType:$dbName:$dbHost",
$dbUser, $dbPass,
{ RaiseError => 1 }) or
die "DBI Connect Error", $DBI::errstr, "\n";