Hi Jake,
Also, in addition to the Required Children feature, you can try using the following approach:
1. Map the needed objects under Windows XP (the 'Yes' button will be mapped as a child of the 'Save As' dialog).
2. Enable the 'Extended Find' option for the mapped 'Yes' button. After the option is enabled, TestComplete will be searching for it within all descendant objects of the button's parent object (which is the mapped 'Save As' dialog). This should avoid recognition problems caused by the difference between the 'Save As' dialog's object hierarchy in Windows XP and Windows 7 or Vista. To learn more about the 'Extended Find' option, see the 'Name Mapping Editor' help topic.
3. The value of the confirmation dialog's WndCaption property is equal to 'Confirm Save As' in Windows 7 and Vista, while the same property's value is equal to 'Save As' in Windows XP. So, you need to remove this property from the confirmation dialog's mapping criteria.
4. Remove the Index property from the mapping criteria of both dialogs. The property value equals 1 only for the last dialog window to appear. So, in your case, after the confirmation dialog appears, the value of the 'Save As' dialog's Index property changes from 1 to 2.