Perhaps a change and check variable. when a player enters the area, add 1, when he leaves the area, subtract 1. when another player enters add another 1 etc etc. and only allow the doodad state to be non-transparent if the variable is zero? any other variable (1-4) would cause the doodad state to be the transparent state.
would this work? it seems confusing as hell, and I may need help linking it all together
but it theory, it sounds like it would work.
EDIT: got it working woo! 9 script entities lol. but it works. for single player at least. everything seems correct, so i would assume that it would work for multiple players as well.