I am trying to figure out a way to wait until a button is visible on the screen before pressing it. I'm trying to stay away from delayfors and verification points

This is my code...

'Wait for the user to be prompted to select single or multiple cd authoring

Window SetTestContext, "Caption=XXXXX XXX", ""
Result = SQAWaitForObject("Type=Pushbutton;ID=12381",600000 )

'calls a function to output the status code to the log file if the following command fails
call dlsfCheckResult(Result)

'Select Multiple order CD button

I am getting an SQASuccess back from the result of the SQAWaitForObject even if the button isn't displayed on the screen yet. The next command is where the script fails. I tried a SQAWaitForPropertyValue(Type=Pushbutton;ID=12380, "Visible", TRUE, 120000) but it times out b/c its unable to find the object.

Any ideas??