The last server call (lwc) is the time that the call is made by OS. However, if lswc = 0 then it didn’t get through. So your statement: “My last weather call seems to updated as it should and the data it returns is accurate every time I check.” is not really what is happening. The call is being made but it is unsuccessful and therefore doesn’t return anything. Also, the server calls should be successful regardless of the water algorithm settings. I run my OS with the manual weather setting and no auto rain delay and my server calls are successful every hour, except when there is a program running. In that case the call is not made.
It is possible that the problem is not with OS itself but with your network/firewall. It would be worth checking to see if that call is getting out and returning successfully. Wireshark is a useful tool for these checks. You could also try making the server access from a PC on your network to see what happens.