Many successful products have shipped on terrible source code. A finished product built on a house of cards is always better than an unfinished product built on an ivory tower.
Heh, that reminds me of the lugaru source: http://hg.icculus.org/icculus/lugaru/file/97b303e79826/Source/GameTick.cpp#l7276
I guess it really comes down to a works or not result.
Global variables create hidden dependencies, which destorys your capacity to analyse access patterns and control their scheduling.
Hidden dependencies are also evil for countless other reasons too