The door sensor sleeps so all the refresh button does is set a flag which will make it request the state state, temp and battery the next time it wakes up.
Pressing the refresh button more than once will set a different flag which causes it to re-send all the configuration settings to the device the next time it wakes up.
Actuators like garage door controllers and sirens can respond to commands immediately which is why the refresh button fixes them.
SmartThings changed something related to delays recently which broke the delayed alarm feature so I guess it’s possible that long delays between z-wave commands are now blocking messages from other devices.
The device doesn’t stay on long enough for sounds bell1, chime2, and chime3 to reliably send the off command so those sounds add a 3 second delay which is supposed to fix the issue with the status getting stuck.
If you’re using one of those sounds, try commenting out lines 827 and 828 by putting // in front.
That change will cause the status to get stuck more, but let me know if it fixes the problem with your door sensors. If it does I’ll see if I can fix the issue with the status getting stuck the same way I fixed the beep delay.
If you’re using one of those sounds and it’s failing to send the command after the 3 second delay then yes that would explain why the status keeps getting stuck.