@GuyBooth sorry for the late reply. I too have delved into UPNP control with B4A, although my application is somewhat simpler in that I only browser UPNP devices and play content locally on the device. My source code can be found here....
UPNP Browser - Source Files Included
The app is also published on the play store here...
https://play.google.com/store/apps/details?id=b4a.upnpBrowser&hl=en_GB (it has close to 800 downloads and a 30% retention rate. Only 2 ANR's to date both linked to obtaining device information that wasn't present - I think!)
Anyhow, with regard to your question. I think that to subscribe to events you just need to repeat the process, or at least a similar process to what you used when requesting all media devices to respond to a search request.
Here's the section of code I used to find devices...
I also found the attached document particularly useful (you've probably already read it?)
kind regards,
RandomCoder