Спасибо большое за развернутый ответ. Да, действительно идет перекрытие памяти, при определенных условиях происходит выход за границу указанного массива (dwMachIconColor).