This problem has a long history... I have to say Lookout is designed in this way, although it looks like unreasonable.
You click the button, it turns on "by the control", a write command is being sent. After you release it, it turns off "by the control". But after the ON command is sent, Lookout will read the current value on this register before it sends out OFF command, because Lookout wants to get the ON status if there are any display or control on panel. The button is connected to the register by the remote source, so it will reflect the change on status. So, Lookout reads the ON status back and turns ON the button again "at the source". Then Lookout writes OFF command to device. On the next poll, Lookout reads the OFF status and turn OFF button "at the source".
I know that it doesn't look good in Lookout, we will consider if we need to improve it.
Ryan Shi
National Instruments