You have changed the semantic meaning of what SENDEVENT_YES, SENDEVENT_NO means. We should document that better.

Previously, it meant if this variable was actively evented via the UPnP eventing mechanism. Now it means if they are evented via the LastChange mechanism.

In general, I like this change, it makes things simpler. It seems like the direct event change mechanism has never really been used by the UPnP devices we care about, only the LastChange mechanism that bundles things.
But I suggest to rename the values in the enum to something EVENTLASTCHANGE_YES, EVENTLASTCHANGE_NO (in upnp.h).