OK, I'll ask a silly question...
Why are you bothering with Crystal Reports determining the parameters. If you are passing items from an App, why not build your screens to set the parameters and then just pass the results of these selections to Crystal...or take it one step further and have your app pass the dataset to Crystal?
Actually, this is all that I do. I build wizards that select the parameters, then calls our data layer, and finally passes the resultset to the report.
Regardless, I would have the app determine your parameters, then all should work as desired.