>  if @ValidateOnExecution is on a type (class or interface), then it is equivalent to @ValidateOnExecution not being present

Putting it like this sounds odd to say the least. I think we need the sentence which follows somewhere later.  I also would make it part of the itemized list:

* if on a type it is used to mark a class explicitly for executable validation. This is necessary for some integration technologies, but otherwise the annotation is ignored