Joseph,
Each keyword-test operation has an Auto-Wait Timeout attribute. It specifies the number of milliseconds that TestComplete will wait for when the needed object is not found. So --
* Add the "If Object" operation that will check whether the needed window is available to your test. The child operations of this operation will be executed after the window appears.
* Change the "Auto-Wait Timeout" attribute of this If Object operation. You need to do this in the Auto-Wait Timeout column. It is hidden by default, so right-click the column area, select Field Chooser from the context menu, drag the column to the editor and enter the needed value.
An alternative approach is to use the Call Object Method or Run Code Snippet operation to call the Sys.Process("YourApp").WaitWindow(...) method from your keyword test.
You can also implement a waiting loop using the "While Loop" and "If Object" operations, but for me, this requires too many actions.
You can watch the following video --
http://support.smartbear.com/screencasts/testcomplete/waiting-for-objects/
Or, read the following topic --
http://support.smartbear.com/viewarticle/12168/.