The Exist timeout is being applied to the swfbutton only. The default timeout would still be used for both parent swfwindows.
Could see a delay up to 12 seconds. Without the window exists it will use the default value(in your case 20) and could wait 44 seconds.
If SwfButton(""). Exist(4)