I totally understand where you're coming from. This is the way I think about it, I hope it helps!
If you think about it, +0 doesn't reset it to the original note because the operation is being performed in relation to the last note value played. So, if you have middle C and you transpose the note +1, it would transpose up to C#. +2 from there would be D#, and +3 from there would be F#. If you then say "+0", the program is just going to add 0 semitones to the last note, so it would still be F#. All it's doing is adding or subtracting, so there's no real "reset" function here.
Since you're looking to transpose it back to the original note, one way to do it would be to try and "undo" all of the previous operations. So if we look at the example you laid out above, "+1, +2, +3", we've transposed our original note by 6 semitones toal. you could set the value back to the pitch you started with by using "-6" to effectively "undo" all of the previous actions. This would work if you're stringing together multiple nodes with edges, and each node has its own little operation to perform because you could easily trace the path the signal takes through each operation. Provided you're transposing the pitch the same way every time, this is a quick fix. If you have multiple edges with different values for transposition, each destination would require you to "undo" all of the arithmetic specific to that edge. e.g.
Edge 1: +1 +2 +3, (6 total semitones away) "undoing" requires -6
Edge 2: +4 +2 -4 +3, (5 total semitones away) "undoing" requires -5
However, if you're sending a signal through the same node multiple times and you've got several transposition values (or operations as I called them earlier, I can't remember the Nodal-official term off the top of my head), it would depend on the number of times the signal has looped through that node. Let me elaborate:
C4:52:100%
+1
+2
+3
+0
There are a total of 5 entries here, the first being the normal pitch, velocity, and duration data. If you entered this text into the node's inspector window, each time the signal passed back through this node, it would perform the next available transposition until it reached the end of the list and started over, which would happen on loop number 6. (there are settings available in the "view" menu that allow you to see how many times a node or edge has been activated.)
The +0 here would still just add 0 semitones to the previous note. Regardless of how many times the signal loops through this one node, every 6th loop it would read "C4:52:100%" effectively resetting the node to the pitch it started on.
I know this is wordy, but as I began to think about my answer I realized that there were multiple ways in which this problem could arise, so I tried to cover both to the best of my ability. please let me know if I can explain anything further or make something clearer, or if anyone has a better way of thinking about this, please feel free to address and correct me, it helps me to understand nodal more as a user myself!
Cheers,
Noah