I think you are doing right type casting...
check your code by my below code
int[] my=new int[5];
my[0]=1;
my[1]=2;
my[2]=3;
my[3]=6;
my[4]=9;
Session["year"] = my;
int[] year = (int[])Session["year"];
check before doing casting session is null or not and contain right integer array.
thanks