You should never have to exclude and reinclude all devices when a single device fails for any reason.
There will be instances where zwave devices fall off the mesh for one reason or another. Instead of excluding and reincluding (and redoing Smartapps), do a REPAIR instead.
You can repair any zwave device by going into it’s preferences (edit device) via the phone app and tapping on the red Replace button. I’ve done this a few times, and it works perfectly.
Afterwards, or whenever devices don’t perform as expected, do a zwave repair and look at the hub’s event logs in the IDE. There’s one particular event that identifies a dead device, and it has a message like “could not assign new route” or something like that. I’ll add a link to another discussion about those messages shortly.
Here’s the discussion I mentioned: (which includes a ton of other useful info)