если graphics.clear(); находится в конце функции, естественно все, что вы нарисовали исчезнет. я не понимаю, чего вы добиваетесь?
по-моему код

Код AS3:
private function setDraw (DrawWidth:Number, DrawHeight:Number):void {
graphics.clear();
graphics.lineStyle(1, 0x000000);
graphics.beginFill(0xFF0000);
graphics.drawRect(500,200,DrawWidth,DrawHeight);
graphics.endFill();
}
должен работать как надо