I looked at your code !! Anyway, I think your problem is the approach that you are using. You have constructed logic out of CASE statements and used Property Nodes to read values not yet set.
You need to use the basic native logic functions built into Labview. Here are two example custom controls: - http://hamiltondesign-consulting.com/Cus_ctrl.html http://members.lycos.co.uk/sgctek/