Though I realized later this expression will break if the layer control is select at any layer other than the one with correct color controls. I rewrite the first expression to try and catch (adapted from Dan's reply: https://forums.creativecow.net/thread/227/26810), so if the layer control accidentally selects none or other layer, it will use the default color settings until the correct layer is selected.
Unfortunately, I have around 50 project files to update to this new expression. I was wondering if batch editing expression is possible with scripting, to make the script reads the old expression, then use it as reference to write a new one.
It's certainly possible, especially if the expression is located on the same layer in each project. You'd basically retrieve the old expression, construct the new one around it, and replace the old expression with the new one. Not too tough.