Возможная реализация: к примеру, можно добавить событие OnBeforeSqlQueryRun в CDatabase::Query(), в обработчике которого дать возможность получать SQL-запрос до выполнения запроса в mysql_query, а возможно дать и останавливать его выполнение.
Сейчас есть возможность получать текст запроса уже после его выполнения, хотелось бы еще до.
Видимо, еще одну версию события нужно будет встроить в lib d7.
Кейс использования: CIblockElement::GetList() при динамическом и сложном фильтре $arFilter "ложит" mySql, хотелось бы для выяснения подробностей и отладки получить и проанализировать текст запроса, до того момента, как он уйдет на исполнение.
Если в dbconn.php указать $DBDebugToFile в true, то трекер будет создан со стандартным путем к файлу (тот, что использовался ранее, до перехода на новый лог d7) и писать будет все подряд. В моем примере только те запросы (тоже, кстати, не один), которые относятся к этому вызову API.