As some of you have already noted and discussed, the dynare releases 4.2.1 and 4.2.2 are buggy for identification.
I wrap up here the fixes to be done to let identification work:
For BOTH Dynare 4.2.1 and Dynare 4.2.2:
In file dynare_identification.m:
at lines 759, 761 763, 772 replace
[~, is] ....
with
[temp1, is] ...
In addition, for Dynare 4.2.2:
In file identification_checks.m:
at line 73 replace the line
rankH = rank(HH./norm(HH),1.e-10);
with
rankH = rank(H./norm(H),1.e-10);
I hope this helps,
Marco