The halo is a catch 22 situation, It protects against large objects like flying wheels but wheels are tethered to the cars and rarely fly off. The only real protection the halo offers is in those situations when another car gets air and crosses the path of the cockpit, which we've seen during the season as
@Jimlaad43 mentioned above. The halo would fail miserably in a repeat situation similar to Massa's, but thankfully F1 cars are so well built and maintained components can/would only fly off if the car had sustained some damage.
One thing I did notice was how panicked Hulk sounded when he first came on the radio and saying, almost yelling "the cars on fire, tell them to put out the fire" I got the impression he was genuinely distressed over not being able to extract himself knowing the car had a fire, unlike Alonso at Melbourne in 2016 who's car ended up in a similar position against the tyre barrier, although his car wasn't on fire, without the halo he was out before the marshals arrived on the scene.
A solution to engine/turbo fires during these rare accidents would be to implement a small automatic extinguisher system, like they use in NASCAR this would at least eliminate the fire risk when trapped inside the cockpit.
I don't hate the halo, but I don't agree with it either.