Problem: UDP Wraped with If Statement

The loop works fine only if I comment out the three "UDP" Statements. As soon as I put those three lines in my code the loop stops.

The obvious questions, then, are where and why.
The equally obvious (I hope) question is why you are making no effort to determine the answers to the first questions.

We've been telling you that you need to put debug Serial.print() statements in the code. You've, apparently, identified a block of code that causes the Arduino to stop doing useful work. So, which of those three statements causes the problem?

What sized values does muxShield.digitalReadMS() actually return? The values appear to be 0 or 1, so, why do you need to store those in an int? Why do you need, on every pass through loop to store 48 ones on three arrays? You use the 48 elements to determine if v1, v2, and v3 are not the same as the 1 stored in the array. Why not just compare v1, v2, and v3 to 1, and get rid of the 96 wasted bytes?

Finally, a link to the shield you are using, and the library, would be good. I'm beginning to suspect a pin conflict.