You need to use a Wait method, like WaitElement() instead of FindElement() - see remarks [here] and below:
If TestComplete fails to find the object whose Exists property you are checking, an error will occur. For example, the code below will fail if the process TestedApp does not exist in the system:
// If the process does not exist, an error will occur
if (! Sys.Process("TestedApp").Exists )
…
Do not use Exists this way. Use the WaitNNN methods to get the needed object first. If the requested object does not exist, this method will return a stub object whose Exists property will be False.