The guid string will only persist if it is your own entry, so as to protect the editing of other entries. But yeah I'm working on a fix.
I think I found the issue. When you loop over the entries your code:
var entry = entries[i];
entry.Rank = i + 1;
Entries is a struct so you create a new value that you set the rank of, leaving the value in the array unchanged.
It worked for me if I replaced it with just:
entries[i].Rank = i + 1;
Yes that was the issue, however, I decided to move the rank handling along with the filtering to the server-side. Another update is imminent!