El codigo que publicaste en el primer mensaje es distinto al ultimo:
Código Delphi
[-]procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Text := login(user_auth,'','admin','clave');
end;
Código Delphi
[-]
procedure TForm1.Button2Click(Sender: TObject);
var
autenticacion:user_auth;
usuario:name_value_list;
resultado:entry_value;
begin
resultado := ws.login(autenticacion,'',usuario);
end;
Por otra parte, el codigo que publicaste en el segundo mensaje compila y no se da el error que comentas