This SHOULD work.
I have seen this in cases where I was also controlling suppression with configurations and/or a design table.
SolidWorks gets 'confused' by order of precedence and sometimes items don't get unsuppressed.
I have resorted to using just a design table to control thing in that case.
Thanks for the reply, my problem is that my design table is ran from the assembly and I need to control features that are located in part files. This is why I was using global variables and transferring them into the part files to control those features.