When you perfrom a find on a layout based on Table 1, but specify criteria in fields from the related table 2, you will get the records in table 1 that have related records meeting your specified criteria--which is what you want here.
Enter find mode on your donors table.
Put Date1...Date2 as criteria into the Gifts::Gift_Date field.
Perform the find.
A script for this might look like this:
Enter find mode  //clear the pause check box
Set Field [Gifts::Gift_date ; $$start_date & "..." & $$end_date ]
Set Error Capture [on]
Perform find 
$$start_date and $$end_date would be the global variables with the dates set from your dialog box. You'd need to do this before performing the steps of the above script. You can also use global fields in place of global variables in this script.