I spent quite some time on something similar to upgrade the house mod I'm working on. Couple of odd things I found:
* If you look at Breezehome, the upgrades are tied to XMarkers which all set to "color_black" or "color_white". Not sure why this is important, but my setup didn't work until I switched my XMarker to "color_black" and it got a little black square over it.
* To test, I set the XMarker to be enabled when the player presses a dwemer button, but you probably want it tied to a quest stage. If you're using an alias, it's possible that it's not getting filled properly to the XMarker. I'd almost suggest adding the XMarker as an objectreference property to your script or fragment. Something like:
Quest Property *MyQuest* Auto ObjectReference Property *XMarkerRef* Auto ;{Points to the placed xmarker}Function Disable(bool abFadeout = false) native ;{defining "enable" function. Not really sure if it's necessary}If *MyQuest*.GetStage(*RemovalStage#*) ;{The stage of your quest when you want the cobwebs gone} *XMarkerRef*.Disable()endifOr something sort of like that. If it's a script fragment tied to the quest stage, you might be able to do it without the "If" lines. If it's a general script attached to the quest you might need the "If" and you may need to cushion it inside either an event or a triggered state. I'm still learning this stuff myself and the rules for when the game runs a function in a script and when it doesn't are still a bit fuzzy to me, but hopefully this puts you on the right track.