Наконец-то разобрался в чем дело
Если кому-то интересно то проблема была в том, что я не разобрался с вопросами внутреннего и внешнего связывания статического класса памяти. Поэтому, в примере выше я невольно применил внутреннее связывание для переменной config и в классе Test у меня создавался новый экземпляр QMap. Что-бы все работало правильно я выкинул файл global.h исключительно для упрощения кода.
Добавил в файл main.cpp сразу после директив #include строку:
QMap<QString, QVariant> config; // статическая область видимости, внешнее связывание
Добавил в файлы mainform.cpp и test.cpp строки:
#include <qmap.h>
#include <qstring.h>
#include <qvariant.h>
extern QMap<QString, QVariant> config;
Ключевое слово extern говорит о том, что моя переменная была объявленна ранее и фактически ее можно рассматривать как создание ссылки на объявленную раннее переменную config.
Теперь все работает отлично.
[/code]