You could have an opening script to check dates for that 30-day difference, find those records and print the letter.
You could just have manually executed script, at the point in the day that you want to run the letters to do the find and print letters.
If you do it once a week you could have a check on the date within a range that meets the criteria you set.
ver7 can do what you want. You could have a CALCULATION field to set a flag when the date criteria is met, setting it to YES. Your script would find all YES records and print your letters.
Thanks so much for the swift help!