Passing report parameters to ReportSmith -- Urgent

I am running Delphi C/S 1.0 with ReportSmith 2.5 and an Oracle 7.1 database.

My report requirements are as follows:

A. User needs to request a report based on Mortgage Loan Numbers, entering up to 20 at a
time to query on.

B. There may be anywhere from 1 to 20 loans the user wants to print the report for
(with each loan starting a new page -- they need it this way).

My problems are these:

1. In ReportSmith (before even dealing with my "front-end" Delphi program I am writing to
gather the loan numbers to send to RS), I have set up 20 report variables, pa1 through
pa20.  These report variables are part of my query (load_items.loannum = pa1 OR
load_items.loannum = pa2 OR load_items.loannum = pa3 ... etc. through pa20).  It is the
only way I could figure out how to get "up to" 20 loans at a time (as opposed to a
single loan).  Right now, while just working on the report, a RS dialog asks me to enter
one loan at a time (which is pretty hokey, but I know nothing of macros and dialog box
creations within RS and my Delphi program will ultimately be "passing" these report
parameters to RS anyway).

Problem is, if I just hit "enter" at the reportsmith report variable dialog box (to NOT
enter a loan), this entry still generates a printed page with the report title on it.  
This is cheesey.  Anyone know how to prevent this from happening?  More on this in #2.

2. I have written a simple Delphi front-end to gather these 20 loan numbers using an edit
box to populate a string list in a listbox.  What I want to do is startup ReportSmith
runtime, call the report pa.rpt, and pass to it the 1 to 20 loans as the report variables
pa1 - pa20.  AND if the user only entered 13 loans, I don't want RS printing out 7 blank
pages!  Can I set the number of the report variables at run time?  This would definitely
prevent any blank pages, but I can't find a way to do this.

Do I have to use DDE to pass the report the loan numbers???  I have read some on DDE, but
it seems fairly complex.  I thought RS would have an easier way to do this, or some
Delphi methods to do this.

3. Finally, in my report's Page Setup, I have selected Landscape Legal.  But when the
report runs it will print on letter size paper (chopping off the fields that would've fit
on the legal size page) unless I go into Windows Control Panel | Printers and set the
default paper size to legal.  Can't RS pass this information?  Or do I need to do this
with the Delphi front-end part of this equation?  If so, I need help with the latter!

I am really a DBA in need of additional reports due to a canned-applications "holes" and
I am doing this because no one else knows any SQL (and I have done Delphi on my own at
home).  BUT I didn't think I was going to run into these problems and now I'm under the
gun to get this in production VERY SOON!

Thanks in advance to any who read and respond to this with any advice.

- Terry Porter