Here is a thought...
Since you are using a stored proc, have the proc return result set be for col1, col2, col3, etc. The value of col1, col2, col3, etc. can be returned from the parameter(s).
The Crystal report would then contain col1, col2, col3, etc. which would probably have to be generic...