Whenever you use the "Find" method, after performing the search, you should always check to see if the search was successful. That's the first piece of advice I have with your code. Find, if it fails, will return a stub object with the Exists property set to False. You should always check that after the Find to make sure you actually found what you want.
What it SOUNDS like is that you're dealing with a timing issue. Are the tests running on the same workstation, just different tools? Even if it's the same workstation, it's entirely possible that they run at different speeds.
Try replacing "Find" with "FindEx" to actually add a custom wait delay to finding the object.
Why automate? I do automated testing because there's only so much a human being can do and remain healthy. Sleep is a requirement. So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group. I love good food, good books, good friends, and good fun.