Hhmmmm... A ver.
Primero, a los arreglos dinámicos (los declarados como array of...) no se los puede usar con GetMem. Hay que inicializarlos con SetLength.
"par" en tu código es un ArrayOfItem, que es un "array of item". Así que la inicialización debe hacerse con SetLength.
Segundo, cuando hacés la asignación "par4.Items:= par"... "par4" no está inicializado, así que no va andar.
Ya que estamos, si lo que querés hacer, según entiendo viendo tu código, es clonar todos los elementos de "par" en "par4", lo mejor que podés hacer es un método en tu clase ClsBFERequest y dejar que él se encargue de la copia.
Código Delphi
[-]
ClsBFERequest = class(TRemotable)
[...]
procedure CopiarItems(out Destino: ArrayOfItem);
[..]
end;
procedure ClsBFERequest.CopiarItems(out Destino: ArrayOfItem);
begin
Destino:= Copy(FItems, 0, Length(FItems));
end;
¿Se entiende?