Here's what I suspect may be happening:
Flash Player is only reading the value at initialization. In other words, the <embed> element is recognized by the browser and the Flash Player plugin takes over the rendering of that element. After the fact, changing the HTMLElement attributes has no effect on the object that has been created by the player. If this is the case, then it won't matter how you try to set the properties (whether you use setAttribute or accessing the property directly).
SWFObject should solve the problem for you, I think.