This should work, though I have noticed when working with Photons that if a bulb has gone into power save mode then it may not wake up fast enough for the default timeout for discovery. This usually results in the app only discovering 35-50 of my 55 bulbs.
I would strongly discourage checking every IP though, and wouldn’t run any app that did this. In fact, my network security would probably blacklist my phone as soon as it tried for security reasons. It would also take a fair amount of time because I use quite a large network range so the app would sit scanning tens of thousands of possible IP addresses.
So, while I don’t doubt this solution would work, I’m going to politely decline to test it. I’d be happy to test a solution that periodically runs the UDP broadcast to find bulbs that have been added since the last scan. It should be doing this anyway, just for normal operations.