> そうなると、 typename int が elaborated-type-specifier になってるっぽいな。

これが正しいとすると、 int を置くことができる箇所全部で typename int が使えるはず。
ふつうのローカル変数とか、
 typename int i = 0;
でも通るのかな?(VC7.1持ってないからわかんない)