Ordinal should be a string represented number, not a int value. And you also should provide a unique name for each registered parameter. See the demo code below.
int i;
char buf[16];
for (i=1; i<20; i++)
{
itoa(i, buf, 10);
lr_save_string(buf, "ordinalValue");
web_reg_save_param("Date_{ordinalValue}",
"LB=<",
"RB=>",
"Ord={ordinalValue}",
"Search=Body",
LAST);
}