Steve gives good advice, but I will add some comments. It shouldn't matter if you put binomial or binary, since the Bernoulli is a special case of binomial when n=1. I don't understand why you would use random block / sub=block*trt; Having block on both sides of / does not make sense. Are you trying to get separate random effects for block and for block*trt? If so, then you would use random int trt / sub=block; or random block block*trt; Use of the subject syntax is more efficient computationally. If you just want block*trt, then use random int / sub=block*trt; or random block*trt; There is another difference between the two approaches (events/trial vs event [0,1]). You must make sure that you are properly accounting for the experimental units. If treatments are applied to groups of individuals (say, plants in a pot), and pots assigned to different treatments is random, then the pot is the experimental unit, not the plant. Your first syntax is appropriate then (with my corrections), with the smaller denominator df. Your second syntax would be incorrectly considering each individual (say, plant) as an experimental unit, with plants (not groups of plants) randomly assigned to treatments.
... View more