1. Не никакого смысла писать сам компонент в mxml.
2. Свойство используемое в байндинге должно быть с метатегом Bindable.
3. Части важные для логики работы компонента должны быть объявлены в самом компоненте с метатегом SkinPart. Это даст вам доступ к части скина в компоненте.
В общем вам
сюда.
P.S. Перерисовка вызывается методом invalidateDisplayList().
Добавлено через 1 минуту
P.P.S. Обращайте внимание на все сообщения дебаггера, включая предупреждения, это поможет вам понять суть проблемы.