Well, I've figured out how to do what I need, by defining a new Wizard Loop with copies of the relevant dialogs. This was, incidentally, difficult to set up correctly.

I have things set up like this simplified example:

Define initial dialogs
Loop Wizard
Wizard Auto Break
End
Install files
Loop
Run Program
If %_SB_ERROR_CODE% Equals 0 Then
Break Loop
End
Define retry dialogs
Loop Wizard
Wizard Auto Break
End
End
Define finish dialog
Loop Wizard
Wizard Auto Break
End