ColorArg does not accept a float, it's a DWORD value. I doubt that just simply adding < > or ( ) around the variable will clear up the error. You could try getting a value into the stage by using texturefactor... But this whole idea seems a bit faulty. I would be going at it by setting up alpha states and blending operations.

Did you try putting <my.transparent = on;> and <my.alpha = 50;> in your material to see if it serves you well enough?