Params не трогай. Его оставь как есть.
Просто для VAR переменных если обычно Params[i] := value, то теперь
Код:
var value: pointer;
...
value := GetMem(n); // тут размер типа
Integer(value^) := VAL; // VAL - передаваемое число, integer для примера
pVar[i].addr := value;
pVar[i].type := 0; // для примера опять же, пусть 0 означает integer
inc(i);
Params[count] = DWORD(value);
inc(count);
Примерно. А если переменная не VAR, то все как прежде.