I think that your problem is that you are trying to set different properties to different elements of an array. This WILL NOT work! All elements of an array are identical except for their values. So once you select Transistor and disable Diode, you cannot select Diode in any element of the array.
Also using an OR function on a Double data type may produce unexpected results. Logical functions are well defined on integers, but fractional values may produce results which are difficult to interpret.
Back to your original issue: I think you will need a different structure for the user interface. I would suggest a Device type selector which will bring up the parameters appropriate to that device - not an array - just the parameter controls for one device. (I would use the Visible property rather than Enable). After the user sets the parameters, push a button called Enter to save the parameters into an array. You may want two arrays, one for transitors and another for diodes, or you could use your existing array of clusters.
Also consider using an event structure rather than looping continuously while waiting for the user to do something.
Lynn