First, I would specify, which component is used when multiplying Color1.a, because .a is a scalar and vecSkill1 is a float4 vector!
Code:
Color1.a*= vecSkill1.x;



Second, do you write the correct values into the material skill(s) with _floatv()??? Or do you mistakenly write into entity skills or else?

Third, there is no such thing as vecSkill2 or vecSkill3, for material skills you have only vecSkill1, vecSkill5, vecSkill9, vecSkill13, vecSkill17, which encapsulate in their .x, .y, .z and .w components the values of skill1-4, skill5-8 and so on.

Third, why do you pre-multiply the alpha values of color1-3, you can do that in the lerp instruction.

Fourth, try blending the first two textures first and if that works fine, add the third and so on. Don't take too much steps at once.