1) If the dialog box returns instantly, the code will complete instantly. The 10 second delay is a maximum wait time. If the WaitAliasChild returns in less than 10 seconds, it will not wait the full 10 seconds.
2) This is correct. It will wait all 10 seconds to see if the dialog comes up. If this is too long a time frame, reduce the number. It's in milliseconds so 5000 is 5 seconds, 10000 is 10 seconds, and so on.
3) If it takes longer than 10 seconds for a dialog box like that to appear, then you might want to increase the timer to something longer. Again, consider that the WaitAliasChild will wait up to that amount for the dialog to appear but will return if the dialog appears earlier. In my opinion, if it takes longer than 10 seconds for a dialog box like that to come up, you have bigger problems in your application related to performance than simply if the dialog box comes up. :-)