I can see two problems:
(1) You are not following the instructions at http://www.tonymarston.net/php-mysql/infrastructure-faq.html #faq92 which clearly states that when you are using the multi-server option it is only the last entry which should have dbnames set to '*' as this means "any database not identified in the previous entries". So the first entry should contain the following:
$servers[0]['dbnames'] = 'menu, audit, workflow, dict';
Each entry before the last one MUST identify the names of the databases which can be found on that server.
(2) You are not following the instructions at http://www.tonymarston.net/php-mysql/sqlsrv.html#config.inc which states that the server name should be set to "(local)" as in the following:
$servers[1]['dbengine'] = 'sqlsrv';
$servers[1]['serverName'] = '(local)';
$servers[1]['connectionInfo'] = array('CharacterSet' => 'UTF-8',
'ReturnDatesAsStrings' => true);
$servers[1]['SQLSRV_schema'] = 'dbo';
Note: when you are using the $servers array you do not need to use the $GLOBALS array. Use one or the other, but not both.