You must be using SAS 9.1 rather than SAS 9.2. I replicated your error for my 9.1 SAS install. It is a bug in version 9.1. The bug is fixed in SAS version 9.2.
I looked for a hotfix for 9.1 but could not find anything having to do with the CLASS statement of PROC GENMOD. Can you update to SAS version 9.2? If not, then you will have to mimic the results that would be returned for the reference specification that you want by using ESTIMATE statements.
Pursuing the use of ESTIMATE statements, suppose that Var2 has m=4 levels, "A" through "D", and you want to use "B", the second level of Var2, as the reference level. The following set of ESTIMATE statements would return the parameters that would have been estimated if you could use "B" for the reference for Var2. We are able to specify that the reference level for var1 is 'A'.
You will observe that the intercept under the model with the second level of Var2 as reference is the estimated intercept plus the value of the parameter which you wish to be the reference value. The effect estimates for Var2 are the observed parameter estimates minus the value of the parameter that is now fixed to be the reference level. This might not seem to be the case for the level which was the reference level actually employed by the GENMOD procedure since we don't see any contrast, just a subtraction of the value of the parameter which was estimated for Var2='B'. However, since the last level had a value of 0 and the value of the parameter for the new reference level subtracted from zero can be expressed simply by taking the negative of the intended reference level value, the specification for what was employed as the reference level is consistent with all other levels of Var2. The parameter estimates for Var1 are not affected by the reparameterization.