With the "StatusValue" message I think there is an argument that is set to 1 when you are looking at them, then it sends another message that sets the argument to 0 (I THINK!!! It's been awhile since I've used StatusValue).
If I am correct in the above then you can set a task to keep the hud message up until the argument is 0.
Also, the reason it's not blocking the message is because you can't block using register_event. You will need to use register_message.