Strobe light failiure detection
For the lights I suggest to use synchronous light detection.

Because your system will be exposed to the ambient light, using a simple threshold would not works (or at least not very well).

What I suggest instead is to take a measurement when the flashing light is supposed to be off and another when it is supposed to be on. Then you subtract the two. If the difference is above a defined threshold, the flashing lights are working. 
If they are not working, the two measurements would be close to each other and the diff would be close to zero.

If you repeat this several you may reject thing such as ambient light switched-on, sun, flicked of the nearby lamp, etc.

You may use whatever light sensitive device as soon as it is never saturated (when exposed to the sun for instance). Otherwise the synchronous detection won't work and will report a broken light when it is working fine.

Other thing such as current measurement are not completely closing the loop. What you care is that light is emitted, not that the electrical behavior of the light is correct. Think about your light covered with paint. This should be detected as a light failure (we are considering an Alarm system here, right?) Light measurement would detect this but electrical one would say that the system is fine.

The same thing apply to the sound. If you measure the sound using a mic and ensure that is it running loud. Then it's fine. This is what matter at the end.