I'm going to take a swag here and guess that one or more of the MRX/MWX addresses are wrong or the addressed slave isn't responding. You didn't mention whether you added additional Modbus/TCP Client devices or whether all 10 Modbus devices are using the default @IntModTCPClient, but I'm also going to guess that you are using only the built-in device. If both guesses are true, then the issue is that the MRX/MWX instructions are taking a very long time to fail when attempting to talk to the one or more devices that aren't responding. Since you are likely using one connection to talk to all 10 devices, when one stalls, they all stall.
Having a single device do all the work is analogous to having one telephone that you are using to call 10 people. For each person, you make the call, exchange information, and hang up. In this case, one of the people isn't answering, and it takes you a while to make that determination before moving onto the next person. While most automation timeouts are on the order of 100s of milliseconds, when establishing a TCP connection, the TCP layer timeout is 45 seconds. We've lowered that to 15 seconds in later firmware, but it is still a very long time in automation terms.
There multiple possible solutions, but the very best is to create a dedicated Modbus/TCP Client device for each unique device you talk to. This prevents any single device from shutting down the comms to the other 9, even while taking a very long time to timeout. Bascially, use 10 phones to talk to 10 people, and after calling the first time, you never hang up. In addition to being robust, it is much higher performance.