It looks like what is probably happening is that when you touch the Law door, the expression is getting evaluated before the second value is updated to 100. You can probably fix that by rearranging the node positions (triggers run from left to right, outputs run top to bottom).
My suggestion is that you alter your logic, however. I think you should be able to get the effect you want in a simpler, more reliable way by doing something like this:
Create a single “Number” node and name it “Cash”, sending its output into your cash label.
When you touch the “DIY” door, have it send “50” into the “+” input of the “Cash” node.
When you touch the “Law” door, have it send “-100” into the “+” input of the “Cash” node.