Wouldn't the queue method be relatively slow if each producer was searching every time it pulsed for an update? It seems really slow especially for larger-scale networks.
You can keep a cache of all network producers and consumers, how much they produce or draw, etc. (similar to your second method with the network map), then only flood-fill when a change in the network is detected (or periodically update the network map) and update production and consumption values for each machine.
This method doesn't have to be restricted to only sending power throughout the network. It could also be used to detect the network/changes, and be used in tandem with your second method.
However, this process should be relatively fast for up to a couple-hundred point networks if I'm thinking correctly. Are you anticipating larger networks?