This problem has plagued me since early builds of v.16. I can't cause it to happen in an easy to reproduce way so I haven't officially reported it as a bug before now.
Reaching out to see if anyone else experiences this or can help pin it down.
MC 16, latest build is running, exact same built, on both server at home and on client at work.
Launch MC at work and it connects to the library at home just fine.
Select 3 albums and add to playing now.
As each song plays I click the rating stars above the progess bar.
The stars next to the song in the playing now queue at the bottom of the screen updates to match.
This tells me that I clicked it fine and the changes 'took'.
Some songs I allow to play all the way to the end, other songs I rate, wait a few seconds, then click the next track button.
So I'm on song 16 in the queue. All 16 of them have star ratings that are showing rated a 3 now. Songs 17+ are showing unrated.
Song 17 starts playing, I'm busy working in other apps.
I switch back to MC to click the stars for song 17 and, looking at the playing now queue, I see that for songs 5 and 11, the rating has disappeared!
On the client machine, the option "automatically sync changes made on client back to server" is enabled, since that seems relevant.