The HEY option in the FACTOR procedure sets to 1 any communality greater than 1. In that case the variable unique variance will be zero. By doing this, a solution is obtained.
R (factanal) and Matlab (factoran) actually set the maximum communality of the variable to 0.995.
I would actually like to know whether I could set the maximum communality in SAS to 0.995 as well. Not only that would help when doing comparisons but I would also get the standard errors of the estimates as a byproduct.