Зачем было так тратиться на лишние слова и эмоции, после которых ничего не стало яснее.
Вопрос был почему так выходит только при такой комбинации когда массив из пяти, пишется значение в шестой и возникает неправильное значение в булевской переменной, которая не относится к этому массиву. Если писать в седьмой или любой другой, которого тоже нет, то ошибки не возникает. Ошибка если только в шестой.
Если бы я в чем то был уверен, то вопросы бы не задавал, а искал бы по форумам на кого бы вызвериться. Если хотите помочь понять, то лучше как то пояснее, без поллитра, а побольше конкретики.
То что значение переменной wX попадает в xInit это сразу было понятно. Непонятно почему оно туда попадает только когда массив из 5 элементов и значение пишется в шестой. Если сделать массив из 4 элементов, и писать в пятый или в любой другой, то ошибка не появляется. В этом и мистика для меня лично.