Ну вот, я, как обычно, на некоторе время выпал из работы. По возврату потестил текущий код компилятора и обнаружил две вещи.
Под современными Линуксами командная оболочка берёт на себя функции разворачивания масок (wildcards) в список аргументов. Так что, если маски специально не экранировать, запускаемый процесс об их существовании ничего и не узнает.
А вторая вещь полностью подтвеждает слова WG на счёт появления экзотических проблем при переходе с MinGW на GCC4. Упёрся в какой-то непонятный полтергейст, приводящий к очистке одного из полей структуры при возврате из функции. На проблему с обработкой pointer aliasing не похоже, т.к. второе поле, доступ к которому осуществляется аналогично, обнулению не подвержено. Навыками работы с GDB кто-нибудь владеет?