I apologise for the lack of newlines in this reply, there is an issue with some users profiles that is in the process of being fixed.
1. What testing have you done in Test/UAT for it to work in that environment but not in production? Have you tested it in the lower environments at full speed in control room? Is your UAT a virtualized environment similar to Production? Even if you have done all that, the expectation is that Production may differ from lower environments, so your test strategy needs at some point to test against production data (that could either be built into your organisations monitored testing strategy for lower environments or the creation of a Pre-Prod environment where limited/monitored access can be provided so that issues such as this can be solved.
2. You should not be using the Image Recognition object, that is old. You should be using the Image Search object which has a color tolerance that provides more robustness.
3. Try putting a temporary read stage into your solution that reads an image of your region and logs it or saves it. Then compare that run time image to your build time image to look for differences.