You can use it with IP Range lists as well. Are you really doing a "Client.IP is not in range list..."? If so, there is no match, so List.LastMatches has nothing to add. I have tried "Client.IP is in range list..." and it correctly wrote the matching entry into a user-defined property as a string.
This seems to be a bug. (7.5.2)
If I try it my way this won't work.
If there is no match in the first rule I'd like to finish executing the ruleset.
If there is a match I expect this will be stores in the list.lastmatches property.
and I can read it by the next rule.
This does not work.
If a say
if client.ip is in range list IPLIST then set element = list.lastmatches
everthing is ok.
unfortunately I don't understand what you try to do :-) Are you able to send me your rule set so that I can replicate the problem? Then I can hopefully tell you more.