put this after you add the parameter, before you set the name on the next one.

Code:
paramField = New CrystalDecisions.Shared.ParameterField
What's happening is that you are recylcing the same object, instead of creating new ones.... so each parameter you "add" simply points to the last one by name. By creating a new instance after adding the previous one, the problem should go away.

-tg