Ok what I think is happening is that your error checking is set to high with the result that you might get false error reports.
The way kollection / DW is handling sql connect queries is by using "mysql_pconnect" and at the end of the page "mysql_free_result" for every recordset.
Now if you have one instance on the page where the "mysql_free_result" is not there it will generate a php error and everything will stop.
I use a different approach instead of
$exel = mysql_pconnect($hostname_exel, $username_exel, $password_exel) or trigger_error(mysql_error(),E_USER_ERROR);
as the connection string I use
$exel = mysql_connect($hostname_exel, $username_exel, $password_exel) or die ('I cannot connect to the database because: ' . mysql_error());
and for good measure still have a "mysql_free_result" for each recordset at the end of the page.
"mysql_connect" automatically closes the connection after executing the query, "mysql_pconnect" relies on the "mysql_free_result" at the end of the page to explicitly close the connection.
By making sure every connection is closed after the query you have a more efficient use of your server. I for instance limit my hosting customers to max 50 mysql connections at any time. By using "mysql_connect" a connection is only "live" for however long it takes to get the results for the query and not till the php parser reaches the end of the page where it will be "freed" by the ,mysql_free_result" command.
I hope I am making sense...