Ah...if you are using parameter values in the Command object, you will be prompted repeatedly.
I think that this is because Commands were designed to retrieve data for parameter selection(it's only a theory as to their reason, but it seems to fit)...but since they are taking parameters to gather the data, they get confused and constantly ask for input.
What you could do is not use the parameters in the Command and instead add filters to the subreports based on the parameters. Then you can link the subreport parameter to the main report parameter and only be prompted once per run instead of more times.