As reported here a couple months ago EditCondition metatag still seems to behave oddly when used with arrays, unless I'm missing something.

Consider following code and its in-editor appearance:
struct DamageTypeDelayInfo
    var() class<DamageType> DelayedDamageType;
    var() FloatRange DelayRange;

var() bool bUseDamageDelay;
var() array<DamageTypeDelayInfo> DamageDelays<EditCondition=bUseDamageDelay>;

In the case of an array of structs the entries are always editable, regardless of the value the EditCondition tag refers to.
Please also note the unexplainable checkboxes next to the array entries - they look like "override" checkboxes but don't actually do anything, can't be toggled in any way (and of course appear only due to EditCondition tag's presence).

Another example:
var() bool bCollideWithDynamicWhileDynamic;
var() ERBCollisionChannel DynamicRBChannel<EditCondition=bCollideWithDynamicWhileDynamic>;
var() array<ERBCollisionChannel> DynamicRBCollideWithChannels<EditCondition=bCollideWithDynamicWhileDynamic>;

An array of enum values, this time the entries are never editable, regardless of the bCollideWithDynamicWhileDynamic boolean. Weird checkboxed make their appearance again.
DynamicRBChannel variable on the other hand, which is of an ordinary non-array type, behaves correctly.