Hi Glen,
I'm fairly doubtful that your application differences you mentioned (queing or parallel loops) would be causing timeout issues (unless you had some logic error in your code that was causing you to wait on a buffer index that was far enough in the future to cause you to timeout while waiting for it). Could you show a sample of your acquisition code just to be sure?
Are there other differences between your two setups? Are there differences in the firmware versions of the cameras? Do you have a different network topology, network hardware (PCI vs PCI-express), different PC specs, etc? What version of the IMAQdx driver are you using?
My hunch would be that perhaps you're having an intermittent connection issue that is causing you to lose packets. This can happen even on an isolated network if you were using a PCI network card that shares bandwidth with other devices on the PCI bus. Most network cards have very shallow FIFOs for DMA'ing packets into memory and instead rely on the bus they sit on to be fast enough at all times to accomodate the flow of ethernet traffic. On 32-bit/33Mhz PCI, you can saturate the entire bus with a single gigabit NIC transferring data in only one direction (and you could potentially have bidirectional traffic that fast). If you are in fact losing packets, the IMAQdx driver will try to request resends of the missing data. Normally, this should get the data and be fine (assuming you have enough bandwidth for the added resent data). Its possible that if you are really starved for bandwidth and/or CPU time, the flood of resent data starts clogging the pipe so much that it interferes with the normal image flow and degrades the situation further. It generally should clear up on its own I'd think (at a cost of potentially skipping some buffers) but I have seen issues with certain older cameras eventually just going completely dead if we saturate them with resend requests. Maybe that is what is happening.
I'd suggest a couple of things. First, switch to PCI Express network cards if you haven't (or 66Mhz PCI-X ones). You're asking for trouble if you're trying to use normal PCI for gigabit ethernet without lots of tweaking. Next, have your application query the "Resends Requested" and "Lost Packets" property nodes. See if those show any intermittent loss, especially when you get into the timeout state.
If you are seeing packet loss, you could also try throttling the peak bandwidth used by the camera. This is useful in cases such as running over a congested network. The problem is that there is a difference between average bandwidth and peak bandwidth. You could be transmitting an image frame once every 15 seconds, but when the camera transmits the frame it could be using 100% of the 1000Mbit bandwidth for a couple dozen milliseconds. On newer versions of IMAQdx you can adjust the Peak Bandwidth Requested on the camera. Depending on the camera's implementation, this may or may not throttle the image frame frate (if it doesn't, it will just show the Actual Bandwidth Requested to be higher than the amount you requested). Finally, you could try disabling packet resends. This will eliminate any interaction with the camera when you have packet loss and prevent problems if the camera were going into a bad state due to too many resends
Unfortunately, there's no clear answer as to what the problem is without more information to debug it. Hopefully I've given you some places to start and if you give some more details about your setup and try out some of the things above we should be able to determine what is going on.
-Eric