Node.status clear in entire flow?

No doubt that debugging can be difficult, and the developers are working on improvements like a proper flow debugger. In the meanwhile, there are a couple of things you might try in order to improve matters. You can identify which node in your example has changed its status by adding a status node connected to a debug node configured to show the node name:

[{"id":"5bf05cc7.5ff1ec","type":"inject","z":"8e3c2638.66102","name":"Go","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":250,"y":160,"wires":[["489accb3.a50684"]]},{"id":"489accb3.a50684","type":"function","z":"8e3c2638.66102","name":"Some Function","func":"msg.payload = Math.random() * 100;\n\nif (msg.payload < 50)  return [msg, null]\nelse  return [null, msg]","outputs":2,"noerr":0,"initialize":"","finalize":"","x":420,"y":160,"wires":[["39597268.0ce6fe"],["4423c59f.f6fbd4"]]},{"id":"39597268.0ce6fe","type":"function","z":"8e3c2638.66102","name":"1","func":"node.status({fill:'green', text : msg.payload})\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":120,"wires":[[]]},{"id":"4423c59f.f6fbd4","type":"function","z":"8e3c2638.66102","name":"2","func":"node.status({fill:'red', text : msg.payload})\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":180,"wires":[[]]},{"id":"4e525c00.139804","type":"status","z":"8e3c2638.66102","name":"","scope":null,"x":380,"y":260,"wires":[["f4e154b1.370ae"]]},{"id":"f4e154b1.370ae","type":"debug","z":"8e3c2638.66102","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"status.source.name","targetType":"msg","statusVal":"","statusType":"auto","x":570,"y":260,"wires":[]}]

Also, you can use a complete node to do some message tracing, as described in this post.