Foo* r = (Foo*)(&e->skill[70]);

I don't think this will return the memory area from skill0 on..
Static Enttiies have less skills, I think around 20.
This might cause th eproblem.